BUG: Don't cast categorical nan to int
- [x] closes #28406
- [x] passes `black pandas`
- [x] tests added / passed
- [x] whatsnew entry

This raises an error when attempting to cast a `Categorical` or `CategoricalIndex` containing `nans` to an integer dtype.  Also had to remove the casting within `get_indexer_non_unique` since this won't always be possible.