API: support a BooleanIndex
xref #15888 
xref #15751 

We generally *don't* actually keep these around very much (instead we use a numpy boolean array), but would be nice for compat. (e.g. #15589; were we could return an actual Index rather than a boolean array).

```
In [31]: Index([True, False])
Out[31]: Index([True, False], dtype='object')
```
