DATAMONGO-688 - Added support for precedence of explicit id property mapping over implicit property mappings.

- Changed getFieldName() in BasicMongoPersistentProperty to return the mongo _id field name only for the "effective" id property.
- Added some test cases for all possible cases to MongoMappingContextUnitTests.