Implement Categorical.searchsorted(v, side, sorter) #8420

closes #8420

Continuation of #8972