API: CategoricalIndex for value_counts
Closes https://github.com/pydata/pandas/issues/10704

Changes `Categorical.value_counts` to return
a Series with a CategoricalIndex. Previously
the Series and an Index.

Just some random observations on the convenience of working with categoricals:
The code here could be simplified if
1. `Categorical.categories` was always a `Categoricalndex`
2. We were consistent about whether `NaN` is allowed in `.categories`

I thought that 1. would be a good idea, but I'm going back on it now. I can see how it'd be useful for `Categorical.categories` to be a more specific type like DatetimeIndex. For 2, I'd personally I'll always keep `NaN` out of my categories, but I could be missing a use case where it's needed.
