[electrum] deduplicate the ECPrivkey.sign code
Summary:
sign_transaction and sign_message use very similar code, with just the decoding and encoding functions changing. Wrap this code in a new sign method called by the other two methods. This will make it simpler to switch the signing code to not rely on the ecdsa library.
Partial backport of https://github.com/spesmilo/electrum/commit/ac94d6d055807ecb3b2ba044b0bcd9a12a9b3b7c
Depends on D16685
Test Plan: python test_runner.py
Reviewers: #bitcoin_abc, bytesofman
Reviewed By: #bitcoin_abc, bytesofman
Differential Revision: https://reviews.bitcoinabc.org/D16686