Add method to round to nearest possible amount of cash (aka Swedish rounding)

This change introduces a new property "smallest_denomination" for each currency, which gives the smallest amount of money (in hard cash) possible for this currency.

This property is then used in a new method "round_to_nearest_cash_value" to round a given amount of money to the nearest value possible in hard cash.
I'd expect more test for this new functionality. Especially around the different sizes of denominations positive/negative values, etc.