[electrum] use bytes internally for pubkeys
Summary:
Some parts of the codebase handle pubkeys as bytes, others (most of them) expect hex strings. Bytes make more sense, as they take less memory (half) and make operations simpler and faster.
This is a first step in the effort of using bytes internally and pushing the hex string conversion closer to the UTXO representation.
To be continued.
Test Plan:
python test_runner.py
Search for usages of these functions and check that they are now all called with bytes and the returned pubkey is treated as bytes.
Reviewers: #bitcoin_abc, Fabien
Reviewed By: #bitcoin_abc, Fabien
Differential Revision: https://reviews.bitcoinabc.org/D14455