Make RPC connection persistent to improve high throughput RPC
access where necessary; uses keep alive and recreates connection
when it drops.
Restrict listtransaction calls to the required account, plus only
looks back 100 txs (assuming concurrent txs less than this), thus
greatly reducing the number of gettransaction calls over RPC.
Fixes bug in choose_sweep_orders (was not filtering out non-sw
orders).
Removes tickchainthread from tests, so no longer any threads used
even in tests; replaces with reactor task loop.
Temporarily removes test_wallets and test_segwit from build tests,
since they used blocking which only worked in threaded tests; these
tests must be rebuilt.
Uses protocol.ReconnectingClientFactory as superclass,
which uses exponential backoff in retrying.
Also change on_welcome_trigger callback to reset the
status of message channels which have reconnected,
so that they become operable once reconnected.
Modify tooltip for Start button to explain Abort
Retrieve nonresponsive makers in daemon and pass to client
Taker receives ignored_makers in init and client adds
Removed the full orderbook printout from even debug log; far
too big on mainnet. Also removed low level IRC logging, such
as MOTD and quit messages, this can be revisited if needed.
Sendpayment script should quit as soon as the final tx in the
schedule is seen on the network; no value in waiting for
confirmation.
Introduces an additional jm_state to avoid resending JMTX in case
the response to checkUtxosAccepted takes too long.
Fix bug in -Qt where blockr wallet sync is called with fast option.
Make unconfirmed message more informative (more TODO here).
Fix bug in blockr_data (from upstream).
Also, some minor changes: filter_orders_callback taken outside
Taker since it involves user input necessarily. Related, answeryes
removed from module, can be done outside.
Donation code explicitly removed from all code branches for now.
A couple of very minor changes thrown up from testing.
Coverage of Taker now 100%, will work on the rest of jmclient.
Slight modification to install process, using pip install to avoid
polluting directories with build data.
Added general regression test support files to test/ (distinct from
planned package-level unit tests), this 2 levels of test should
function much better.