A new quicksort in C++ implemented

A new quicksort in C++ is implemented. The partitioning is done using atomic swap function from <algorithm> so that no new temporary vectors are used. That is, the partition is done in-place.