The user cannot be guaranteed to use an integer value for feePerKb. Many legacy apps use `satoshis per byte` as a fee rate, and may implement eCash lib by converting existing fee rates to `feePerKb`.
For example, the default fee rate in Cashtab is 2.01 satoshis per byte. However, in JS, 1000*2.01 !== 2010. We get a hard to decipher error from eCash lib if it is implemented with this kind of value. With this diff, a more helpful error is thrown.
Since we cannot control whether or not developers choose integer values for their fee rate, need to handle the case.