sortBy sorts the specified Seq according
to the specified comparator. The sort is stable. If stability is not
required, unstableSortBy can be slightly faster.
A fully parameterized version of the sorting algorithm. Again, this
function takes both radix information and a comparison, because the
algorithms falls back to insertion sort for small arrays.
Radix sorts an array using custom radix information requires the
number of passes to fully sort the array, the size of of auxiliary
arrays necessary (should be one greater than the maximum value
returned by the radix function), and a radix function, which takes the
pass and an element, and returns the relevant radix.