Add an externally created signature to a transaction. The pubkey must correspond to the
fee payer or a signer account in the transaction instructions (Message.accountKeys).
Signs this Transaction with the specified signers. Multiple signatures may be applied to a
Transaction. The first signature is considered 'primary' and is used to identify and confirm
transactions.