[electrum] implement adding eCash alias to contacts
Summary:
Add two menu actions to fetch aliases from https://alias.etokens.cash and add them to contacts. It can be reached via the main application menu (Wallet > Contacts) or in the context menu in the Contacts tab.
This will allow users to type in an alias in the "Pay to" field in the send tab, with autocompletion.
This assumes that for now aliases are immutable (phase 1 aliases). If this changes, we will have to check and update dynamically the alias when the user tries to send money to it.
For now the feature is gated by an activation flag --enable-aliases.
ref T3298
Test Plan:
Start the application with the new activation flag: ./electrum-abc --enable-aliases
Try the feature with various aliases (hint: twelvechar12 is registered)
Once an alias is succesfully added to contacts, check that autocompletion works in the send tab
Try cancelling the dialog after the OK button is clicked and while the request is still running, verify there is no segfault because of QThread destroyed while still running.
Reviewers: #bitcoin_abc, Fabien, bytesofman
Reviewed By: #bitcoin_abc, Fabien, bytesofman
Subscribers: bytesofman, Fabien
Maniphest Tasks: T3298
Differential Revision: https://reviews.bitcoinabc.org/D14544