Improve searchsorted

This pull request allows `searchsorted` to avoid making copies of non-contiguous arrays and to search arrays sorted in descending order.