DATAMONGO-770 - Add support for IgnoreCase in query derivation.

We now support IgnoreCase and AllIgnoreCase in predicate expression for derived queries.

Original pull request: #78.
DATAMONGO-766 - Support for nested field references through @Field.

The MappingMongoConverter now supports reading and writing nested fields from and to documents by using @Field(…) with a path expression, e.g. @Field("a.b"). We now correctly create the nested objects and also reuse the previously created intermediates when populating further properties.

Not that this might cause the need to define field ordering explicitly as later properties might override the values set using a path reference in @Field.
DATAMONGO-761 - Fix path key lookup for non-properties in SpringDataMongoDBSerializer.

In our Querydsl MongodbSerializer implementation we now only inspect the MongoPersistentProperty for a field name if the given path is really a property path. Previously we tried to always resolve a persistent property even if the given path was an array index path, a map key or the like.
DATAMONGO-771 - Fix raw JSON string handling in MongoTemplate.insert(…).

We now support insertion of JSON objects as plain strings via MongoTemplate.insert(…).

Original pull request: #79.
DATAMONGO-769 - Improve support for arithmetic operators in AggregationFramework.

We now support the usage of field references in arithmetic projection operations.

Original pull request: #80.
DATAMONGO-776 - Improvement in TypeBasedAggregationOperationContext.

TypeBasedAggregationOperationContext's getReference(…) doesn't use a PropertyPath anymore to avoid running the camel case property resolution.