Description
Now __and__, __or__, __rand__, and __ror__ are not data type based.
So we would like to introduce these operators for Boolean spark type IndexOps.
These bitwise operators should be able to apply to other data types classes. However, this is not the goal of this PR.
extension_dtypes process these operators differently from the rest of the types, so BooleanExtensionOps is introduced.