Bug in CategoricalIndex[Interval].__contains__ for non-interval data
```python
In [10]: idx = pd.CategoricalIndex(pd.IntervalIndex.from_breaks([1, 2, 3]))

In [11]: 'a' in idx
```

```pytb
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-11-50c294b3bf00> in <module>()
----> 1 'a' in idx

~/sandbox/pandas/pandas/core/indexes/category.py in __contains__(self, key)
    358             return self.hasnans
    359
--> 360         return contains(self, key, container=self._engine)
    361
    362     @Appender(_index_shared_docs['contains'] % _index_doc_kwargs)

~/sandbox/pandas/pandas/core/arrays/categorical.py in contains(cat, key, container)
    200     #  can't be in container either.
    201     try:
--> 202         loc = cat.categories.get_loc(key)
    203     except KeyError:
    204         return False

~/sandbox/pandas/pandas/core/indexes/interval.py in get_loc(self, key, method)
    716                 key = self._maybe_cast_slice_bound(key, 'left', None)
    717
--> 718             start, stop = self._find_non_overlapping_monotonic_bounds(key)
    719
    720             if start is None or stop is None:

~/sandbox/pandas/pandas/core/indexes/interval.py in _find_non_overlapping_monotonic_bounds(self, key)
    664
    665             start = self._searchsorted_monotonic(key, 'left')
--> 666             stop = self._searchsorted_monotonic(key, 'right')
    667         return start, stop
    668

~/sandbox/pandas/pandas/core/indexes/interval.py in _searchsorted_monotonic(self, label, side, exclude_label)
    625             sub_idx = self.left
    626             if self.open_left or exclude_label:
--> 627                 label = _get_prev_label(label)
    628
    629         return sub_idx._searchsorted_monotonic(label, side)

~/sandbox/pandas/pandas/core/indexes/interval.py in _get_prev_label(label)
     90     else:
     91         raise TypeError('cannot determine next label for type {typ!r}'
---> 92                         .format(typ=type(label)))
     93
     94

TypeError: cannot determine next label for type <class 'str'>

```

cc @jschendel 