BUG: DataFrame.(any|all) inconsistency
AFAICT there are 3 concerns to be balanced here:

1) internal consistency w/r/t sub-frames, i.e `df[subset].all(bool_only=True)` should never be _larger_ than `df.all(bool_only=True)` (bug in master)
2) independence of consolidation status (in the status quo we consolidate, so this is not an issue)
3) backwards compatibility

I see two possible ways to accomplish get 1) consistent with 2):

a) drop object-dtype blocks in `get_bool_data` (i.e. what this PR does ATM).  This will produce some cases where `df.all(bool_only=True)` is smaller than it is in master.
b) operate column-wise on object-dtype blocks.  This will produce some cases where `df.all(bool_only=True)` is larger than it is in master.

I lean towards a) because it is simpler to implement and describe/document.  Since it is fixing a bug in a corner case, I don't think a deprecation cycle is needed I am also in favor of your option a). Although b) is technically possible (and something we would also get with 1D blocks), I think long term we should simply not regard object dtype columns as boolean or infer if they might be boolean (the same goes for indexing with object dtype bools). 

But, I still think we can deprecate this first instead of directly changing. Yes, it's quite a specific case, but it doesn't seem that complicated to deprecate? (the logic is only in `_get_bool_data`?) > (the logic is only in _get_bool_data?)

AFAIK the only things affected are `DataFrame.all(bool_only=True)` and `DataFrame.any(bool_only=True)`

> But, I still think we can deprecate this first instead of directly changing. Yes, it's quite a specific case, but it doesn't seem that complicated to deprecate? 

The corner-ness of it makes me not care _that_ much about deprecate vs change.  I marginally lean towards getting it over with because there is a bug fix involved and it will make it easier to simplify `DataFrame._reduce`. Went through the issues and added Reduction and Nuisance Column labels where appropriate.  Reinforced my belief that numeric_only needs to be thrown into the sun. This pull request is stale because it has been open for thirty days with no activity. Please update or respond to this comment if you're still interested in working on this. rebased.  i maintain this bug merits ripping off the bandaid.