Added a contact groups feature! Contacts can belong to a group and groups can have many contacts

A user can create a new group and a new contact with many phone numbers and EPF will on save
will do the right thing persisting the group first then the contact.