Bool support and tests

Adds bool as a `supported_dtype`. Adds a bunch arithmatic tests for the bool dtype by parameterizing old tests, to take different dtypes and data. 

Changes dtype of `.sum` and `.mean`'s accumulator, and automatically upcasts small dtypes like numpy does. Tests for this are included too, as they also test `.sum` & `.mean` with bool dtype.