DATAMONGO-652 - Added support for $elemMatch and $ positional operator.
DATAMONGO-651 - MongoTemplate now throws Mongo-specific exception with WriteResult.

If the WriteResultChecking is set to EXCEPTION on a MongoTemplate, we now throw a Mongo-specific exception that captures both the WriteResult and MongoActionOperation for further evaluation.
DATAMONGO-656 - Fixed potential NPE in MongoTemplate.
DATAMONGO-658 - Pull forward changes made to README in 1.2.x branch.
DATAMONGO-658 - Fixes in README.md.
DATAMONGO-658 - Major overhaul of README.md.

Simplified repository usage. Added JavaConfig sample. Use Markdown syntax consistently.
Fixed pom.xml to refer to correct snapshot repo.
Fix path to repo to make sure snapshot build sees all repositories.
DATAMONGO-657 - Support DBRef for maps

Added capability to write DBRef instances for map values. Reading had been supported before but writing wasn't.
DATAMONGO-663 - Added equals(…) and hashCode() to Field.
DATAMONGO-554 - Add background attribute to @Indexed and @CompoundIndex.

@Indexed and @CompoundIndex now carry a background flag that can be used to enable background indexing. Updated MongoPersistentEntityIndexCreator to consider the flag and hand it to the ensureIndex(…) call.
DATAMONGO-666 - Fixed architecture violation caused by exception class.

Moved MongoDataIntegrityViolationException into core package to break up package cycle. Updated SOnargraph architecture description to capture issues more closely.
DATAMONGO-667 - Removed deprecated types and added further deprecations.

Removed Sort in favor of Sort in Spring Data Commons. Deprecated Order in favor of Direction in Spring Data Commons. Changed implementation to use the types from Spring Data Commons.
DATAMONGO-545 - Add BeforeDeleteEvent and AfterDeleteEvent.

Added events for before and after deletion of documents. Polished logging code in AbstractMongoEventListener.
DATACMNS-379 - Adapt to changes in Spring Data Commons.
DATAMONGO-569 - Improved AbstractMongoConfiguration.

AbstractMongoConfiguration doesn't expose a Mongo instance anymore until you explicitly make it one by annotating the implementation method in the configuration sub lass with @Bean.

Removed the custom call to MongoMappingContext.initialize() as Spring call the lifecycle method for us anyway.
DATAMONGO-682 - Performance improvement for mapping hotspots.

This commit includes the MongoDB specific parts for the mapping subsystem performance improvements. Reworked PerformanceTest to output more reasonable numbers.

Heavily inspired by Patryk Wasik's contribution at https://github.com/SpringSource/spring-data-mongodb/pull/37.

GitHub PR: #37
DATAMONGO-677 - QueryMapper now handles DBRefs in Maps correctly.

QueryMapper now handle Map with DBRef value, which is needed to process an update in MongoTemplate.doUpdate(…) to save versioned document correctly.
DATAMONGO-679 - Fixed saving plain JSON strings in MongoTemplate.

MongoTemplate.doSave(…) didn't handle plain JSON strings correctly. It now correctly passes the marshaled object to the underlying method.
DATAMONGO-683 - QueryMapper now handles default ID names it mapping metadata missing.

Changed the implementation so that _id is considered an id field if no metadata is present. Heavily refactored QueryMapper internals so that the conversion code is more readable.