Add mergeCollection, diffCollection and intersectCollection functions

The reason for appending `Collection` to the method names was to keep the function names consistent with each other and to not override the functionality of the `merge` method on `Illuminate\Support\Collection` that is inherited to (and maintain backwards compatibility).

Tests included.