QuickSort implementation. All unit tests pass.