Allow for dict-like argument to Categorical.rename_categories
- [x] closes #17336
- [x] tests added / passed
- [x] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`
- [x] whatsnew entry

`Categorical.rename_categories` can now take a dict as `new_categories` and updates the categories to those found in the mapping.
 It will only change the categories found in the dict, and leave all others the same.
The dict can be smaller or larger, and may or may not contain mappings referencing the old categories.

Have a good day/night! 🐼 🐍 