Declare $proxyFactory property in DocumentManager
Cast slaveOkay to boolean in ClassMetadataInfo setter
Refactor collection and DB getters in DocumentManager
Remove unnecessary use statement
Rewrite DocumentManagerMock to use reflection to expose privates

ClassMetadataFactoryTest and SchemaManagerTest required refactoring for these changes.
Use null default value for ClassMetadataInfo slaveOkay (fixes #759)

This ensures DocumentManager::getDocumentCollection() will not overwrite read preferences by default.
Test ClassMetadataInfo slaveOkay wrt DocumentManager getter (#759)
Allow null in ClassMetadataInfo::setSlaveOkay() to revert to default
Make it possible to re-persist removed embeded documents

Not sure why the restriction was there in the first place, but it seems like it isn't needed. If it is kept, I can't find any way to re-persist an embedded document marked for deletion.
UnitOfWork cleanup.
Fix issue with ClassMetadataFactory not inheriting association mappings properly.
Add test to ensure embed one and embed many identifiers can be modified.
Test for embedded documents with same id should not be the same instance.
Remove code in PersistenceBuilder::prepareInsertData() that is never called.
Remove commit order calculator. We don't need it.
Implement support for read only objects.