Associate Contact with PhoneNumber

Foreign key `contact_id` is on phone_numbers

Contact has many PhoneNumbers
PhoneNumber belongs to Contact

Phone numbers cannot be created without associated Contacts.
Associate Address with Contact.

An Address can be shared between contacts, since many contacts can live in the
same household.

Address has_one Contact
Contact belongs_to Address
Fix factories to comply with validations.
Add foreign key constraints, dependent:destroy for phone numbers.
First phone number for a contact is primary, rest are normal.

By default when creating a phone number:
  - If a contact has no prior numbers, the number is primary
  - If the contact already has numbers, the number is normal

In addition, when a primary number is removed another number is made primary.