Add another method of quicksort
General optimizations
Added tests for all 3