Implement merge sort

Impementation of top-down and bottom-up merge sort.
Merge sort