Start of support for custom and composite keys
Can now include the key of other entities in composite
Refactoring to implement custom identity checking
Change to using a singleton for EntityMappingStore
Refactored identity mapping info

Now consistently uses the suffix string as the value exposed by the
identity property. A few unit tests remain to be updated.
Fixed EF tests
Added unit tests for generated keys
Implemented preconditions for key constraints
Merge branch 'feature/entity_keys' into develop