Rebased and improved version of #3383
Based on a patch by Eric Lombrozo, further work by Pieter Wuille and JaSK.
- unspent outputs have a spendable=true/false property to mark watchonly outputs
- Some compatibility work for interaction with coin control was added by Pieter
- the GUI now displays watchonly balances separately. the layout could be improved, but it works
- getbalance, listaccounts, listtransactions and listsinceblock by default ignore watchonly addresses
- transaction details returned by ListTransactions in RPC replies have an involvesWatchonly=true property if they involve watchonly addresses.
I haven’t done much testing with this yet but i don’t think it needs any major changes. Most of the commits are optional. Please tell me if anything needs to be changed.