allocate a tighter temporary array in MergeSort

This speeds things up a bit.
`sort!` has many methods, but only one is documented (namely the one with keywords). Should the other ones be renamed so they don't pollute `methods(sort!)`? On occasions, I find that `sort!(v, InsertionSort, Forward)` is faster for small arrays, maybe this method could be documented?
Could we replace all the `(lo+hi)>>>1` by `(lo+hi)÷2` ?