cleaning up identifier mapping validation

i think this does contain a BC break if you have a document with an invalid repository class configured or configured a repository id strategy but no repository configured - this might have worked if you never persist the document.


it seems we currently have invalid assumptions in places like:

* https://github.com/doctrine/phpcr-odm/blob/master/lib/Doctrine/ODM/PHPCR/Mapping/ClassMetadata.php#L1427
* https://github.com/sonata-project/SonataDoctrinePhpcrAdminBundle/blob/master/Model/ModelManager.php#L251
* https://github.com/flack/createphp/blob/master/src/Midgard/CreatePHP/Mapper/DoctrinePhpcrOdmMapper.php#L61

should we fix this to have sonata go through the metadata method and have the metadata object check the id strategy and fallback to $dm->getUnitOfWork()->getObjectIdentifier($obj) - or should we promote going through the uow in general?