CLN: de-duplicate Block.should_store and related
FooBlock.should_store is equivalent to `is_dtype_equal(self.dtype, other.dtype)` for almost all of our Block subclasses.  This makes that the implementation for the base class, so we define it in fewer places.  xref #32878 on remaining cases.