wallet: return unsigned TX in watch-only SendOutputs
wallet: return unsigned TX in watch-only SendOutputs

If SendOutputs is called on a watch-only wallet then a transaction is
created but without any signatures. Publishing that transaction will
always fail. But the attempt to publish will already update the internal
state of the wallet so we shouldn't try to publish this unsigned TX.
Instead we return a new error along with the unsigned transaction to
give the caller the chance to sign and publish it through other means.

btcsuite/btcwallet,btcsuite/btcwallet