Introduce BasicMappingContext and BasicPersistentProperty.

This allows us to move id generation to template level
Rename InMemoryOperations implementations to *Template
Introduce @EnableInMemoryRepositories

By default we bootstrap an MapBackedRespository. This can be changed by setting repositoryFactory class.