API: why do DataFrame bool ops have default_axis=columns while arith/cmp have default_axis=None?
Changing the default_axis to None doesn't break any tests, and that would allow for a bit of code simplification.  So is there a reason for the current implementation?