Combined Person and Company into Contact Model with Proxy Models for Person and Company

Having two separate models for Person and Company made it necessary to have generic foreign keys, which was problematic when working with AngularJS. Combining the models using a proxy eliminates the need for generic foreign keys.