Iterative merge sort.
recursive merge sort impl.