Change BigMoney to normalize negative scales

Ensure that a negative scale is not visible in BigMoney
This should have no impact on most users, but does change semantics
The rationale is to ensure that the toString() matches equals()
and the internal state as per VALJO rules

Previously,
 BigMoney.ofScale(GBP, 100, 0)
 BigMoney.ofScale(GBP, 1, -2)
were equal but had the same toString()
Now, they are both normalized to the first form - no negative scale
Fixes #52