Quicksort implementation and complexity analysis
Author: Ryan McIntyre

Input is list of objects with defined "<=".

Output is ordered (nondecreasing) list.
