Merge Sort

Gone crazy and made an enumerable-like method of merging 2 sub arrays by comparing elements. I pass a block to it, which in merge sort is just x < y. Now I have a re-usable iterator, all methods are intuitive enough (I hope) and everything makes more sense. The performance loss of this detour is not significant unless used for quant intensive tasks.