BUG: min/max on empty categorical fails
- [x] tests added / passed
- [x] passes `black pandas`
- [x] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`
- [x] whatsnew entry

Currently on master, the following fails:
```python
import pandas as pd

# Empty Dataframe
df = pd.DataFrame({
    "cat": pd.Categorical([], categories=list("ABC"), ordered=True),
    "val": pd.Series([], dtype="int64")
})

df["cat"].max()
```
`ValueError: zero-size array to reduction operation maximum which has no identity`

Other dtypes return `NaN` when calling `min()` or `max()` on an empty Series. This PR changes the behavior of Categoricals to be the same. 

Note that current behavior causes a downstream bug in Dask here: https://github.com/dask/dask/issues/5645, so this PR could fix that bug as well.
Thanks!