Completed initial implementation of parallel sort.  It uses an in-place ...

...merge sort implemented with parallel block exchange.  The time limit isn't set up yet, but all the parallel algorithms are cancellable.
@bsoetaer 
Also am I missing something with mirror of [7,6,5]? Won't lower == 0 and upper == 0 because length/2 = 1 and minus 1 is 0? Therefore just lower and lower + 1 will be swapped so that means [6,7,5]?