Introduce MultisigKeyBag to expose P2SH redeem data

For married wallets KeyChainGroup now keeps redeem scripts together with keys and exposes this data via MultisigKeyBag interface. In future this interface may be used by signers to get data required for signing P2SH transactions.

Here I need to find a keypair that is either has private key or is able to derive it. hasPrivKey just tests that the key has private bytes already, so it works weird for DeterministicKey which may not have private bytes, but could derive them on demand. I found this to be quite misleading. I guess these methods should be overriden in DetermenisticKey, but some of the BIP32-related code use these methods already, so maybe that's by design?