add checkpoint
Merge pull request #538 from ouziel-slama/master

add checkpoint
Updated ChangeLog
Be Able to Run Without a Backend, using `--force`.

If `--force` is used, don’t check that the backend is available, and
when polling for blocks in `blocks.follow()`, if the backend can’t be
reached, just sleep and try again repeatedly.

This is useful for testing purposes, when a complete copy of the
blockchain isn’t available, but a reasonably complete database is.
Two New API Methods; Defined APIError; minor bug

Defined two new API methods:

- `get_tx_info(tx_hex)`
	Returns `(source, destination, btc_amount, fee, data)`
	associated with a hexadecimal‐encoded serialised transaction.

- `unpack(data)`
	Returns a pair of variables: the first is the `message_type_id`
	of the data; the second is a dictionary of the contents of the
	data for the appropriate message type. For instance, passing the
	data from a send transaction will return `0, {'asset': $ASSET,
	'quantity': $QUANTITY}`.

Also, replaced all `raise Exception` statements in `api.py` with `raise
APIError`, which is more meaningful.

Minor bug: two missing `import`s from recent code reorganisations
Multiple python-bitcoinlib Proxies to Backend

We can’t reuse the same `httplib.HTTPConnection` across threads, or we
get `httplib.CannotSendRequest` errors. The solution (for now) is to
just make new connections all over the place. :/
Merge branch 'master' into develop
More Unpack API Calls; `BalanceError`s

Now, the `unpack` API method is defined automatically for all message
modules for which there exists an `unpack()` function.

Also, differentiate between balance errors and validation errors for new
message parsing code.

Solves #352.
Optimize `get_tx_info2()`.

Exit early from `get_tx_info2()` if the transaction in question isn’t a
burn and it contains no data; avoid looking for sources, which is the
expensive part.

Solves #542.
Merged `address.py` into `script.py`

A library named 'address' is a bad idea.
fix conflict