WIP: searchsorted implementation

closes #6712

- [ ] `timedelta64` tests
- [ ] more edge case testing
- [ ] how should non-monotonic indexes be handled (currently raising a `ValueError`)?
- [ ] `datetime64` (and probably `timedelta64`) coercion needs work
- [ ] `side` argument testing
no you *can* use ``self.take(index)`` if index is a list of index locations (which is what ``np.searchsorted`` returns; that's the point its position based, like ``s.iloc[index]``