Accept multisig addresses that are lists of public keys (instead of pubk...

...eyhashes) for both source and destination.

[need more tests]

with this PR:
- the API accepts pubkeys both in addresses (source and destination) and in parameter `pubkey`.
- the CLI accepts pubkeys in addresses (source and destination), extracts them from the wallet or asks them to the user.
- For the API and the CLI not provided pubkeys are searched in the blockchain.
Nitpick: I prefer this syntax, which we use elsewhere: `if type(provided_pubkeys) != list:`