Move most of txToPairs into a new createTx func

That new function can be easily tested because it doesn't need a
Wallet instance.
Oh, I didn't know about that. In this case I was just updating the comment to match the actual name of the error, but I'm happy to rename the error to ErrInsufficientFunds instead