BUG: fix multi-column sort that includes Categoricals (GH7848)

CLN: refactor _lexsort_indexer to use Categoricals

closes #7848 
This should have a different name or should also include the `np.sort(...)`: When I first looked at this patch on my mobile, I expected from the name that this method does sorting, but actually it only sorts the NaN to a different position.