Wallet: move all free functions out of Wallet scope
Wallet: move estimatePaddedTxFee out of Wallet scope
Wallet: clarify getPrivateKeyForAddress method structure

This does repeat the O(n) lookup several times, but that can be fixed by
using an O(1) lookup instead (and will be later).

Clarity first.
Wallet: rework unspents to only work on intialization
Wallet: more extensive type checking for UTXOs