[electrum] fix get_tx_derivations for regular keystores and imported keys keystores
Summary:
In D14569 I forgot to make sure that keystores also provided pubkeys as bytes in keypairs. As a result, I broke transaction signing for most wallet types.
Fix this by making get_tx_derivations return pubkeys as bytes. These returned pubkeys are then used in SoftwareKeyStore.sign_transaction to build the keypairs before calling tx.sign, and now they are in the correct type.
For ImportedKeyStore, fix the get_pubkey_derivation method to correctly deal with x_pubkey as bytes. This was missed in D14455
Test Plan:
python test_runner.py
Send a transaction with the software for a regular BIP39 wallet, a multisig wallet, a hardware wallet and an imported privkey wallet
Reviewers: #bitcoin_abc, Fabien
Reviewed By: #bitcoin_abc, Fabien
Subscribers: Fabien
Differential Revision: https://reviews.bitcoinabc.org/D14592