MergeSort implementation

with recursion
QuicSort implementation
Optimization for QuickSort

cutoff to insertion sort