add ExchangeRate and (Big)Money conversion mechanisms (reverse-merged from commit e3d81c8ab1035f0cb8afc7d0c3f87e866be6ae8d)

Undo this commit which should have been on a branch, not master