Replace TimSort with java.util.DualPivotQuicksort

My profiling indicated that TimSort was about twice as slow as java.util.Arrays.sort() on primitive types.
I replaced the TimSort implementation with the DualPivotQuicksort implementation enhanced with the primitive comparators.
It gives back almost the original speed of Arrays.sort().