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.