Merge sort function in C with lots of helpful commenting to understand the algorithm.