PERF: improved performance of CategoricalIndex.is_monotonic*
- [x] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`
- [x] whatsnew entry

```python
>>> n = 1000000
>>> ci = pd.CategoricalIndex(list('a' * n + 'b' * n + 'c' * n))
>>> %t ci.is_monotonic_increasing
22 ms # v0.22 and master
227 ns  # this commit
```

There seem to be a few more like this, where ``CategoricalIndex`` should use ``self._engine`` but doesn't. 

@TomAugspurger?