+ added __indexed__ to Person
* finished Email
* refactored PhoneNumber to match new system
* changed model field checking in FlatDatabaseModel to rely on class attrs
+ added email/phone number value checking iterators for Person constructor
- removed extraneous string containing old code.
+ added models object
- removed 'person' from required attrs since it is an explicit argument for Email and PhoneNumber
+ added get_collection_item to Email and PhoneNumber
+ added 'person' back to Email and PhoneNumber __required__
  This is because FlatDatabase.create passes a fixed set of arguments, therefore "person" must be included in the "data" argument and must be required as a result.
- removed person argument from constructor signatures
* replaced non-instance attr instances of "id" with "pk" to avoid global name clobbering