BUG/PERF: MaskedArray.searchsorted(np.nan)
Needed for follow-up to ExtensionIndex to avoid object-dtype cast for engine.

```
arr = pd.array(range(10**5))

%timeit arr.searchsorted(4)
2.87 ms ± 223 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)
6.67 µs ± 178 ns per loop (mean ± std. dev. of 7 runs, 100000 loops each)
```
>  # The base class casts to object dtype, for which searchsorted returns
        #  0 from the left and 10 from the right.

i think needs a whatsnew? as this is the bug right