Fiat, Monetary and ExchangeRate

Introduce Fiat as a holder for fiat values. Coin and Fiat share an interface Monetary so that monetary infrastructure can be re-used.

Adapt CoinFormat to be used with Monetary. Add an ExchangeRate value class that can convert from Coin to Fiat and back.
That description is kind of loose. What about the dreaded comma vs dot issue, for example? Also who writes currency amounts in scientific notation?