Add tests for binary operations with non-related types.

Check that we call the appropriate reversed method of the other type when we don't understand how to perform the operation ourselves.

Closes #23.