Fix self-transfer bug

Previously, transfers were implemented by setting the account balances
directly. Because the to account was updated after the from account, this
allowed people to give themselves infinite credit. Now, we simply do a deduct
and add from the from/to accounts, respectively.