Space-age composite polymer; not a shred of sqlmetal... (Support composite keys end-to-end)

This change adds support for value generation with composite keys which was blocking use of composite keys end-to-end. The state entry will now generate values for any property marked to have value generation on add regardless of whether that property is part of a key, composite or not.
You can't fire me because I quit! (Change from Added to Deleted results in detached entity)

See issue #351. When an entity is in the Added state it means that it doesn't exist in the database and should be inserted during SaveChanges. If the state is then changed to Deleted this would mean delete an entity that doesn't exist in the database, which will fail. In the EF6 stack we instead detach the entity in this case so that it is just never inserted. This change implements the same behavior in EF7.
Monster Munch (Add Monster Model to add more coverage for different relationship types.)

This is mostly a starting point model for some relationship fixup/change detection work. There are some TODOs for somethings that don't work yet. I updated relational type mapping to support nullable types and simple enum mapping.
Share and Enjoy! (Share common TypeExtensions code)
Migrations: Added HistoryRepository, MigrationAssembly, Migrator, MigrationScaffolder classes.
Made updates and wired up functionality as necessary. Added unit tests.