[RPC] add support for existing vins for `fundrawtransaction`
[RPC] add simple unittest for `fundrawtransaction` (increase test coverage)
[RPC] add support for existing vins for `fundrawtransaction`
Implement watchonly support in fundrawtransaction

Support watchonly in fundrawtransaction, CreateTransaction, SelectCoins
and coin selection in general.

Coin selection is exposed over RPC through fundrawtransaction, and
watchonly can be enabled by passing includeWatching true (defaults to
false).

fundrawtransaction will first attempt to fund a transaction without
using watchonly, even when includeWatching is enabled. When this fails,
an includeWatching attempt is made.

When an includeWatching attempt at coin selection is performed (in
CreateTransaction), and all watchonlys are consumed leaving no funds
available for a fee, then CreateTransaction will not include a fee in
the transaction.

Also, includeWatching tests (for fundrawtransaction).

See also: https://github.com/bitcoin/bitcoin/pull/5503