Reduced allocations in merge_sort for short vectors

Changed the initial insertion sort to be in-place, and deferred
allocation of working sort until merge is needed. Increased
threshold for insertion sort from 8 to 32 elements.