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.
If it's a ratio, shouldn't Coin always be 1 here? Why do we need the coin side of the ratio to be specified?