Add support for watch-only addresses (rebased)

Rebased version of #2861

I'm not sure whether I did the interaction with coin control correctly, so don't use it with that.

Based on a patch by Eric Lombrozo, further work by Pieter Wuille