Categorical Arithmetic/Comparison Rules
Series[not-categorical] > CategoricalIndex is inconsistent with the reversed operation.  Which one is canonical?

```
ser = pd.Series([1, 2, 3])
idx = pd.CategoricalIndex(['A', 'B', 'A'])

>>> ser > idx
0    False
1    False
2    False

>>> idx < ser
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "pandas/core/indexes/category.py", line 752, in _evaluate_compare
    return getattr(self.values, opname)(other)
  File "pandas/core/arrays/categorical.py", line 56, in f
    raise TypeError("Unordered Categoricals can only compare "
TypeError: Unordered Categoricals can only compare equality or not

>>> ser > idx.values
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "pandas/core/ops.py", line 819, in wrapper
    .format(op=op, typ=self.dtype))
TypeError: Cannot compare a Categorical for op <built-in function gt> with Series of dtype int64.
If you want to compare values, use 'series <op> np.asarray(other)'.
```

I'm guessing the right thing to do is to a) have `Series[categorical].__op__` wrap `CategoricalIndex.__op__`, and b) have `Series[non-categorical]` to dispatch to reversed-op for `is_categorical_dtype(other)`, want to confirm before making a PR.