Eventually all network calls should go through the network module
without resorting to using raw protocol strings. This, then, makes
adding an other backend easier.
Please note that the behaviour slightly changed. Initially the caller
received an unmodified response from the ElectrumX server. In it the
scripthash is present. This change replaces that scripthash with the
original address.
Currently Electrum stores all payment requests in main requests
directory. It's not going to be efficient when we have thousands of
thousands of payment requests. This patch spreads that files across
two level of subdirectories.