Operator commutativity is now a method

This should make polymorphism work, so that commutative operators are
treated as such by Operator.areEqual.