Embedded priming fix for Issue #624, with Tests

This is a fix for the issue where dot syntax would not work in field-names to prime. 
https://github.com/doctrine/mongodb-odm/issues/624

With this fix, now you can prime a reference that is in an embedded document. It works no matter how many levels of embedded documents there are between the original document and the final reference, but it does not traverse across multiple references. 

The recursive method is based loosely upon the structure of the prepareQueryElement() method of Doctrine\ODM\MongoDB\Persisters\DocumentPersister, except with priming it can be much simpler since we only care if it's a reference or embedded document.