PERF: speed-up when scalar not found in Categorical's categories
I took a look at the code in core/category.py and found a usage of np.repeat for creating boolean arrays. np.repeat is much slower than np.zeros/np.ones for that purpose.

```python
>>> n = 1_000_000
>>> c = pd.Categorical(['a'] * n + ['b'] * n + ['c'] * n)
>>> %timeit c == 'x'
17 ms ± 270 µs per loop  # master
82.6 µs ± 488 ns per loop  # this PR
```
