Efficient sorting of DataArrays

This fixes #92, and also speeds up sorting generally, since we avoid
type instability. It also includes a change that places NAs at the end
instead of the beginning of a sorted array, consistent with the way
Base sorts NaN values.