canonical implementation of Quicksort

Towards an eventual pull request (as suggested in https://github.com/JuliaLang/julia/issues/4576) - better sort