Previous to this commit, the jmbitcoin package was accessed via
a file in jmclient `btc.py` which was originally added as an
interface to allow the client to use a non-jmbitcoin package to
provide the implementation; while this idea is useful, the way
it was implemented was not, moreover it is not currently used
and contained duplicated code that was unmanaged. Also, the
original usage of this was only by the electrum plugin, which
has currently been abandoned. This simplifies the code and
avoids spurious error messages. Note that most of the changes
are a result of pulling the logging function directly from the
jmbase package instead of indirectly via this interface (which
was unnecessary and not connected with jmbitcoin).
In case Taker.initialize() fails for any reason such as no
liquidity, stallMonitor() will not wake up for 20*maker_timeout_sec;
so, in this change, IF the client schedule has length one, we
immediately figure the on_finished_callback with failure parameters
so that the reactor is stopped without waiting.
This change does not apply for the general multi-step schedule, as
that is principally for tumbler-style algos which are intended to
aggressively keep trying in case of any failure.