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
shouldn't this be ``return self.take(index)``? as searchsorted returns the indices (and you want to return a series)