Conversion/elimination of sort functions.

* Remove insertionsort, quicksort, mergesort, timsort in
  favor of sort(InsertionSort,...), sort(QuickSort,...), etc.
* Removed underscores from search related function names:
  * sort_by -> sortby
  * search_sorted_* -> searchsorted*
  * issorted_{by,r} -> issorted{by,r}
  * etc.
Fix stray search_sorted => searchsortedlast
Updated sort docs.
Sorting. Now with 1000000% less metaprogramming.

Refactor of sorting, taking #2066 to its logical conclusion.
Fast clever integer-op sorting for floats (not for sortperm though).
Use integer comparisons to sort floating-point values.

This is a fairly insane commit, but very composable: you can define a
new sort and get correct, optimized sorting of float arrays using that
sorting algorithm for free. The same applies to sortperm, which is a
nice trick as well.