BUG: Fix KeyError in merge on CategoricalIndex
For categorical type indices a `KeyError` is raised when the index level is used during a merge on an index level

Example:

```
import pandas as pd
left = pd.DataFrame(
    {"left_data": [1, 2]},
   index=pd.CategoricalIndex(data=["A", "B"], categories=["A", "B"], name='index_col')
)
right = pd.DataFrame(
      {"right_data": [1.0, 2.0]},
   index=pd.CategoricalIndex(data=["A", "B"], categories=["A", "B"], name='index_col')
)
result = left.merge(right, on=['index_col'])
```

With this fix, the behavior of the test `test_merge_datetime_index(self, klass)` changed, though. IMHO, the behavior in this PR is more consistent since it is the same for all input types but I'm not sure what the actual behavior should be and I couldn't find a section in the documentation explaining this path.

- [ ] closes #xxxx
- [x] tests added / passed
- [x] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`
- [x] whatsnew entry