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.

Also I noticed there is no watchonly section.