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
i meant this case

```
In [6]: x
Out[6]:
array([-0.538 , -0.4963,  0.7675, -0.4008, -0.9153,  0.0518,  1.1946,
        0.9675,  0.7179,  0.2399])

In [7]: x.take(x.searchsorted(100))
---------------------------------------------------------------------------
IndexError                                Traceback (most recent call last)
<ipython-input-7-bab0aacfedb0> in <module>()
----> 1 x.take(x.searchsorted(100))

IndexError: index 10 is out of bounds for size 10
```