BUG: when Index is numeric and indexer is boolean (#16877)
- [ X ] closes #16877 
- [ X ] tests added / passed
- [ X ] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`
- [ X ] whatsnew entry

This warns for both tickets:
https://github.com/pandas-dev/pandas/issues/6189
https://github.com/pandas-dev/pandas/issues/16877

There's one particular flaw: non-unique indices never run get_indexer and deals with dropping in a way where it is difficult to inspect types. I think it should be OK to leave that one for now though.

One of the reasons I chose to warn instead of Error is that running some_numeric_index.difference([True, False]) should possibly still be allowed, while still warning the user that the difference they are getting may just be due to conversion from True to 1 (or 1.0) and False to 0 (or 0.0). This probably is rare enough that an Error might still be the best approach.

The questions remaining to me are:
Is this severe enough that an Error should be raised? What type in this case?
Is the message sufficient?

Thanks.