BUG: .describe lost CategoricalIndex info
- [x] closes #11558
- [x] tests added / passed
- [x] passes `git diff upstream/master | flake8 --diff`
- [x] whatsnew entry
#11558 is partially fixed by #12531, this PR let `.describe()` to preserve `CategoricalIndex` info. And added explicit test cases derived from #11558.

@sinhrks yeah that looks right. Pls have a quick look thru the index classes and confirm if that's really what we are doing for the rest. You _might_ even be able to lift _some_ of the stuff off of `CategoricalIndex._simple_new` to `Categorical_index._shallow_copy` (and then change things that use `_simple_new`. It might not have been exactly clean to start.
 @jreback Current `CategoricalIndex._simple_new` follows the above definition (not rely on metadata at all).

https://github.com/pydata/pandas/blob/master/pandas/indexes/category.py#L126
 thanks @sinhrks always nice PR's!
