Composite primary key & association entities as keys improvements

Hi! 
I tried to implement the matching of entities that uses composite primary keys...

Any suggestion?

~~BC changes here https://github.com/doctrine/doctrine2/pull/1113/files#diff-c18001a2ca9928743b1e99854ffad33bL1611 (protected method makred as private and changed return type..)~~
Associated entities ID are imploded first. This allows a easy handling of the flat identifier inside UoW, but will generate some errors with [this](https://github.com/doctrine/doctrine2/blob/master/lib/Doctrine/ORM/Persisters/BasicEntityPersister.php#L351) feature.

A solution can be:
1. have always flat arrays simply appending composite identifiers: easier solution but will not work if the associated entities have fields with same names.
3. have always flat arrays, without keys, simply appending composite identifiers: easy solution, a lot of code should be reviewed?
3. have multi-dimensional array as identifier: clean solution, but a lot of code should be reviewed to remove `implode` functions with something  more  sophisticated.