DATAMONGO-688 - Improve detection of id properties.

Added support for precedence of explicit id property mapping over implicit property mappings. Changed BasicMongoPersistentProperty.getFieldName() to return the mongo _id field name only for the "effective" id property considering the owner entity if already set). Added some test cases for all possible cases to MongoMappingContextUnitTests.

Original pull request: #48.
DATAMONGO-540 - Fixed test case.

Apparently the test case was not working on MongoDB instances in version 2.2.