Change bidirectional vergesort fallback to quick_merge_sort
Change bidirectional vergesort fallback to quick_merge_sort

This change allows to lower the complexity to O(n log n) with a worst
case of O(n log n log n) space. The vergesort layer still uses O(n)
memory when it finds patterns to optimize.

Morwenn/cpp-sort,Morwenn/cpp-sort,Morwenn/cpp-sort,Morwenn/cpp-sort