INT: include NA values in Categorical.categories
There are a bunch of places in CategoricalIndex where we check something like:

```
codes = self.categories.get_indexer(target)
if (codes == -1).any():
    do_something()
```

This leads to ambiguity, as a -1 code can indicate an NA value that is present, or a non-NA value that is not among self.categories.  Having to sort out which we're looking at is a hassle which we should try to avoid.