Test for broken currency representation.
Fix active merchant for some currencies.

Currencies without 2 decimal places would not be correctly represented
to active merchant, as they would always be multiplied by 100.

As an example, something costing 200 yen would pass 20000 yen to active
merchant.

This now uses the cents from the money object which handles this logic
much better.

Fixes #2930