REF: split describe categorical function
- [ ] xref #36833
- [ ] tests added / passed
- [ ] Ensure all linting tests pass, see [here](https://pandas.pydata.org/pandas-docs/dev/development/contributing.html#code-standards) for how to run them
- [ ] whatsnew entry

Moved handing timestamp data from ``describe_categorical_1d`` into ``describe_timestamp_as_categorical_1d``.
Extracted function ``select_describe_func`` for selecting the proper function, suitable for a given data type.

Pros:
- Simplified logic on which function is selected for which data type.
- Improved way of issuing ``FutureWarning``.
- Next logical step in enabling the strategy pattern.

Cons:
- Unnecessary argument ``percentiles_ignored`` passed into functions for handling categorical types. This is done to unify the interface across all functions for describing a series. The problem will be handled when enabling strategy pattern as the percentiles will become an instance attribute for the strategy class.
- Slight duplication in ``describe_categorical_1d`` into ``describe_timestamp_as_categorical_1d``, which will be handled as the strategy class for categorical data is created (it will be encapsulated there).