Use more specific class names for AbstractMappingDriverTest models
Allow ClassMetadata to invoke lifecycle callbacks on proxies (fix #763)
Merge pull request #767 from doctrine/fix/gh763

Allow ClassMetadata to invoke lifecycle callbacks on proxies
Return array instead of Cursor in DocumentRepository findAll() and findBy()

This is a BC break, but fixes DocumentRepository's contract with the ObjectRepository interface. The BC break should be less of an issue for findBy(), since there are already sort/limit/skip arguments.
Changelog entry for DocumentRepository findAll/findBy return values
Merge pull request #742
Test case for equal, but not identical, document ID's
Fix grammar in UnitOfWork documentation
Differentiate between ID types in UoW's identity map

Previous use of document IDs as array indexes lead to ambiguity when handling numeric strings. Serializing values to respect ID types will avoid this, although it may be too strict for floats and integers, which are comparable in MongoDB.

Additionally, this change requires that numeric IDs be fetched by the appropriate type, as shown in IdTest::testCollectionId().
Revise documentation for UnitOfWork::getDocumentIdentifier()

The previous documentation looks to have been a copy/paste from ORM.
Fix test for handling of equal, but not identical, IDs
Make getDocumentState() consistent with ORM refactoring
Allow for non-null, falsey id values in getDocumentState()
Small refactoring for UnitOfWork::doMerge()
Support non-null, falsey identifiers and getIdentifierObject() in more places
Removed scheduled extra updates, move id generation to UnitOfWork::persistNew() and throw exception when DocumentManager::createDBRef() is called on an object without an identifier.
add test failure.
Refactor UnitOfWork::doMerge() based on ORM
add failing assertion to DetachedDocumentTest
port remaining functionality from orm merge() functionality.