WIP: searchsorted implementation

closes #6712

we've decided to simply return `self.values.searchsorted`, since that's what was happening before, and because dealing with non-monotonic indices is a PITA and yields marginal benefit when you can just use `s.iloc[s.searchsorted(...)]`


- [x] ~~`timedelta64` tests~~ #8464 
- [x] ~~more edge case testing~~ #8464 
- [x] ~~how should non-monotonic indexes be handled (currently raising a `ValueError`)?~~
- [x] ~~`datetime64` (and probably `timedelta64`) coercion needs work~~
- [x] ~~`side` argument testing~~ #8464 
- [x] documentation
    - [x] docstring
    - [x] add to api.rst
    - [x] add to basics.rst