Fixed a bug so that a versioned entity with a OneToOne defined as an id can be created

Changed the visibility of UnitOfWork::flattenIdentifier for use in BasicEntityPersister.

In BasicEntityPersister::fetchVersionValue I have added a line to flatten the id's before fetching the version value.

Without this change, an entity with a OneToOne relationship defined as an Id, with a Version property, could not be created. Rather than trying to use the ID in the query to select the version, the related entity was being passed.
this cannot really live in the ClassMetadata either, as it needs to access the metadata of related classes too