This MaskingOpInterface provides masking cababilitites to those
operations that implement it. For only is only implemented by the vector.mask
operation and it's used to break the dependency between the Vector
dialect (where the vector.mask op lives) and operations implementing
the MaskableOpInterface.
This is part of masking proposal described in
https://discourse.llvm.org/t/rfc-vector-masking-representation-in-mlir/64964.
...operation that predicates...