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
fine by me, but then i should just do `self.index[index].to_series()` since `self.take(index)` returns the values not the index