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.
Do we need this as a separate function? (It's only called once.)