Called to implement ``mixed-mode'' numeric arithmetic. Should either
return a tuple containing self and other converted to a common numeric
type, or None if no way of conversion is known. When the common type
would be the type of other, it is sufficient to return None, since the
interpreter will also ask the other object to attempt a coercion (but
sometimes, if the implementation of the other type cannot be changed,
it is useful to do the conversion to the other type here).
Note that this method is not called to coerce the arguments to +
and *, because these are also used to implement sequence
concatenation and repetition, respectively. Also note that, for the
same reason, in n*x, where n is a built-in number and
x is an instance, a call to x.__mul__(n) is made.