ensure coerce only applies to multiplication

@ct-clearhaus so, I ask again, what is "4 (dollars) * 4 (dollars)"? Of course it is "16 (dollars)" as everyday life (and elementary school) taught us and definitely not square dollars. But then, again, what is "4 (unitless) * 4 (dollars)"? Can it be the same result "16 (dollars)"? Didn't we (implicitly) coerce 4 into "(dollars)" before performing the operation?

My whole point is that we should either allow all operations (`Numeric` * `Money`) and accept (implicitly) that the numeric is in the **base unit** of the Money operand. Just like we do in everyday life.

Right now:

```
4.to_money == Money.new(400, 'USD')
```

And if you do this:

```
4 + Money.new(4, 'USD')
```

I expect it to be equivalent to

```
4.to_money + Money.new(4, 'USD')
=> #<Money fractional:404 currency:USD>
```

If you think about it, it makes sense.