Support for applications recording exchange rate…

…that was valid when transaction was sent. Use the new SendRequest.exchangeRate register.

Includes a test.
Needs documentation comments for all these fields, e.g. what does "value" measure and in what units, what kind of code is code. Is it a 3 letter code? If so, specified by which standards? Someone without the context of our discussions could conclude many different things from this proto definition, e.g. maybe code is some internal thing.