Three-way partioning Quick Sort
This is basically the QuickSort in base with a small change to handle repeated values. It should be less than 1.15x slower than one in base in general but near O(n) time for arrays with few unique keys
CC @kmsquire
Coverage increased (+0.2%) to 98.077% when pulling a39c16c98c0693b8d3d6ba0585a60462e2fa9722 on pabloferz:pz/quicksort into 3e666ecbc2d835a2f2d9ac80b93edb538ef7e907 on JuliaLang:master.
It seems that the function selectpivot!didn't exist in v0.3. I'm not sure what to do about it. I could define it here but there may be other ways to handle it.
At this point it seems like we can just drop 0.3 support.
It's been like 4 years. Close it, or merge it or start another repo.
I'm willing to merge it if somebody rebases it against master (and tests pass).