BUG: scalar getitem indexing with CategoricalIndex
Scalar `__getitem__` indexing with a CategoricalIndex gives a KeyError (example with two different types of categoricals):

```python
In [46]: cats = pd.Categorical(['a', 'b'])

In [47]: s = pd.Series([1, 2], index=cats)

In [48]: s[cats[0]]
...
KeyError: 'a'

In [49]: s.loc[cats[0]]
Out[49]: 1

In [50]: cats = pd.Categorical([pd.Timestamp('12-31-1999'),pd.Timestamp('12-31-2000')])

In [51]: s = pd.Series([1, 2], index=cats)

In [52]: s[cats[0]]
...
KeyError: Timestamp('1999-12-31 00:00:00')

In [53]: s.loc[cats[0]]
Out[53]: 1
```

so with `loc` it works correctly, as well as when passing a list to `[]` (after https://github.com/pandas-dev/pandas/issues/16115 is fixed)

`__getitem__` on the columns works correctly:

```
In [55]: df = pd.DataFrame([[1, 2], [3, 4]], columns=cats)

In [56]: df[cats[0]]
Out[56]: 
0    1
1    3
Name: 1999-12-31 00:00:00, dtype: int64
```