Added explicit -O2 pragma to the source file.

This avoids cabal's warning and also enforces the flag when without
cabal.
Minor improvements suggested by hlint.
Removed debugging stuff and `Show` constraints.
Fixed `median3`.
Add Bart Massey's heapsort, make introselect.

If our quicksort goes too deep, it switches to heapsort. This maintains
O(n log n) worst case complexity.
Rename the module from "quicksort" to just "sort".