Fix make_change to not create half-satoshis

`make_change` would split up inputs regardless of whether they were an odd number of satoshis and therefore would create outputs with half-satoshi amounts (or 9 decimal places in the python code).  This would cause `JSONRPC error: 16: bad-txns-in-belowout`.   This fix solves that problem in that if you `make-change` too many times that won't happen, but I could imagine there are other places in the code that we need to be careful representing satoshis as a decimal or float number of BTC.