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..)~~
@deeky666 we will soon (as soon as a new release is done) be able to use the PHP-CS-Fixer to fix those stuff (we will need a custom fixer to add the spaces around the ``!`` as we diverge from PSR-2 and it now fixes them, or we should decide to move to PSR-2).