DataFrame.any/all
raises Exception if mixed or non-boolean #1416

This isn't what I was looking for. `any`/`all` need to have the same interface as sum/mean/count/etc.
 This looks great, thanks so much
