This PR adds additional checks in CreateSig and SignStep to prevent any signature from being created if an uncompressed pubkey is being used when the signature version is segwit. In particular, CreateSig will have this check to prevent the dummy signer and whatever other signers we may use in the future, from having to include this check as well. Furthermore, the multisig signing logic will now fail if it finds an uncompressed public key in the list of pubkeys to be signed when the signature version is segwit.
This faulty behavior is most evident when attempting to create a multisig address that contains mixed compressed and uncompressed public keys as indicated in #16011. As such, a test has been added which ensures that both createmultisig and addmultisigaddress create the legacy address for a multisig that has such mixed public keys.
Alternative to #16012.
Fixes #16011