Made get_order stable (it's very cheap since the order vector contains
the necessary info for it).
Added stable_sort_array_destructively as a stable alternative to
sort_array_destructively. Measurements shows that it's 15-20% slower
when sorting simple data types like integers. (When sorting objects
with lfuns the slowdown is hardly measurable.)
Cleaned up the compare functions a bit. The alpha sort order now
handles empty arrays correctly, it uses the full set of lfuns for
object comparisons instead of is_gt, and it sorts multisets on the
first element just like arrays.