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.

Adapted requested changes from code review
DATAMONGO-540 - Fixed test case.

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