Use shortest balance, prefer whole subunits.

Use the shortest possible string representation of `balance`.

Soften Bitcoin-specific 'MUST' for decimal places to a currency-neutral SHOULD,
and prefer rounding before adding/converting to string/hashing/serialisation.