Added merge method in Collection

* Also implemented ArrayCollection merge method
@Ocramius addUnique would not be able to add more optimizations than the one already available in contains IMO.

and the utility method is the only way to do it in 2.x. This does not forbid us to move it to collections themselves in 3.0 if we want to apply more optimizations. The utility method would then just call the collection method to maintain BC by defining it