Make insertion sort adaptive and stable

The traditional insertion sort should scan for the insertion point
leftwards from the right end of the sorted range. This does not improve
the asymptotic performance, but it makes insertion sort both adaptive
and stable, which are two reasons that it's still an important O(n^2)
sort.