Fix redundant expression in MnemonicCode.
HD Wallets: implement auto upgrade behaviour and refresh the design doc.
Fix a bug because the SendRequest.fee field is written to 0 when SendRequest.emptyWallet is used. Missing tests for this case are added.

Use SendRequest.tx.getFee() to get the fee, rather than reading SendRequest.fee.
Add SendRequest.signInputs flag to allow skipping the signing. It takes a long time and is not needed for when you only want to determine the fee.
Harmonize how BTC values are printed to the log by Wallet.completeTx(). Also, print the value that is emptied.
Add SendRequest.toString().
Some testEmptyWallet() asserts -- DON'T MERGE!