Implementation of merge_sort in C++ -- could use a bit of polish, but its functional