follow up of the discussion in https://github.com/doctrine/phpcr-odm/pull/120
1. if there is an id with a strategy always use that
2. if not and there is a parent and a node name mapping use the parent strategy
3. else use assigned strategy if there is an id field
4. throw an exception that you can't use this document
finalizing the mapping could have the added benefit of combined validation. for example if assigned strategy is parent and name but there is no field mapped to the name, it would tell this is invalid.
think what should be validated at the finalize point.