Added merge method in Collection

* Also implemented ArrayCollection merge method
If you add it only on ArrayCollection, you cannot use it in your code. when loading an entity form the DB, the ORM does not use ArrayCollection for instance, but its own implementation of the interface.

And the BC concern is precisely this: Doctrine Common does not control all implementations of the interface