BUG: Let CategoricalIndex take CategoricalDtype as dtype argument
- [x ] closes #18109 
- [x ] tests added / passed
- [ x] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`
- [ x] whatsnew entry

This PR allows CategoricalIndex to take CategoricalDtype as its dtype argument, see #18109 for details.