Fix embeddables class metadata (work-in-progress)

ClassMetadataInfo is returning more than one result in getFieldNames() for the embeddables properties. This method is used by DoctrineModule\Stdlib\Hydrator\DoctrineObject in the extraction process. 

Since its returning a number of results equal the number of properties of the embedded object, it will never find the correct setter for the extraction and that causes that property to be removed from the extracted array.

I was able to solve the issue by hacking into the getFieldNames() for testing and merging the duplicated entries, and then the object was successfully extracted. 

By digging into the code, i found out that there is a mapEmbedded(), but instead of using that for embeddeds, its using the default mapField, which may be the root cause of the problem.

- [x] Hack into the getFieldNames() method to see if the expected solution would work
- [x] Remove multiple class declaration in the same file from the files i'll work with
- [x] Create a failing testcase
- [ ] Create a solution
that's not a cs fix, that is a test asset that was written in the same file, i just moved it to the model namespace.