Add support for watch-only addresses
Changes:
- Add Add/Have WatchOnly methods to CKeyStore, and implementations in CBasicKeyStore.
- Add similar methods to CWallet, and support entries for it in CWalletDB.
- Make IsMine in script/wallet return a new enum 'isminetype', rather than a boolean. This allows distinguishing between spendable and unspendable coins.
- Add a field fSpendable to COutput (GetAvailableCoins' return type).
- Mark watchonly coins in listunspent as 'watchonly': true.
- Add 'watchonly' to validateaddress, suppressing script/pubkey/... in this case.
Based on a patch by Eric Lombrozo.
Conflicts:
src/qt/walletmodel.cpp
src/rpcserver.cpp
src/wallet.cpp