use in place linked list merge sort