DATAMONGO-905 - Removed obsolete dependency to CGLib from cross-store support.

Also we now optionally depend on the HIbernate JPA API JAR so that using other persistence providers doesn'T cause an API JAR duplication.
DATAMONGO-907 - Assert compatibility with mongodb 2.6.

Fix test to only check on parts of the expected error message common in both 2.4 and 2.6.

Original Pull Request: #166.
DATAMONGO-888 - Sorting now considers mapping information.

We now pipe the DBObject containing sorting information for queries through the QueryMapper to make sure potential field mappings are applied.

Original Pull Request: #162.
DATAMONGO-895, DATAMONGO-896 - Assert compatibility with latest MongoDB Java driver.

Upgrade next MongoDB driver version to 2.12.0. Strong upgrade coming in a subsequent commit to make sure we can backport the compatibility checks to the bugfix branch without forcing users into a driver upgrade.

Relaxing error message comparison in assertion so that it still matches against the message returned by MongoDB 2.6. When comparing the value of the version field, compare against a Long rather than an Integer, since the version field generated is a Long. This allows the test to pass against the upcoming 2.12.0 release of the Java driver, which has a stricter implementation of BasisDBObject.equals(…).

Original pull requests: #159, #160.
DATAMONGO-910 - Upgraded to latest MongoDB Java driver 2.12.0.

Removed special mongo-osgi property as the driver version is now a valid OSGi version number.
DATAMONGO-866 - Add means to configure field naming strategy.
DATAMONGO-866 - Polishing for new field naming strategy configuration support.

Use the camel case split logic from Spring Data Commons (introduced for DATACMNS-486) in a common CamelCaseSplittingFieldNamingStrategy super class.

MappingMongoConverterParser now also rejects the configuration if both abbreviate-field-names and field-naming-strategy-ref are configured.
DATAMONGO-897 - findAndModify should remain to work on DbRef.

Prepare issue branch.
DATAMONGO-897 - DBRef Update mapping should work on interface types.

Fixed potential failure in DBRef resolution for updates.

In 1.4 'DBRef' resolution in 'QueryMapper' changed in a way that tries to inspect if the properties 'Id' can be assigned to the given type. When one passes in an 'Update' it is most likely not to have all type information at hand, which means in case of an property pointing to an interface that the entire resolution might have failed.

In 1.5 it's possible to resolve properties on interfaces as long as those follow the beans convention. But it failed, as it does in 1.4.x, for those properties not having the required getters.

Original Pull Request: #164