A General Model for Food Web Structure