Fast initial synchronisation

The synchronisation is done directly from bitcoind database files.
Here the steps of the process:

- step 1: copy bitcoin leveldb database in tmp directory
- step 2: prepare sqlite database 
- step 3: parse all blocks backward (the position of each block in blk000XX.dat files, are taken from the leveldb index (blocks/index dir)
- step 4: reorder transactions
- step 5: parse transactions
- step 6: delete bitcoind leveldb database from tmp directory

The main function, where these 6 steps are done, is `blocks.initialise_transactions()`:
https://github.com/JahPowerBit/counterpartyd/blob/develop/lib/blocks.py#L1260

Average time to parse a block on an Intel Xeon 3.2Ghz with a 7200 RPM HD is about 0.1s.

**Important**: bitcoind must be stopped before launching this script.

Missing:
- manage `get_tx_info2`
- add a warning/question "stop your bitcoind, this operations takes times, etc... are you sure you want to continue ? y/n"
- make a python lib for all files in `/lib/blockchain/` installable with pip


 `get_tx_info` and `get_tx_info2` take now `tx_hex` as parameter instead `tx`. And `get_tx_info` uses `bitcoinlib`to deserialise the hex string. Unfortunately `bitcoinlib` can not return an hex with `rpc.get_raw_transaction`. If we want to use `bitcoinlib` for all rpc calls, we can pass to `get_tx_info` and `get_tx_info2` a ctx object already deserialised, or we can maybe try to make a PR to modify the return of `rpc.get_raw_transaction` (just need to change the mean of the `verbose` param here: https://github.com/petertodd/python-bitcoinlib/blob/master/bitcoin/rpc.py#L295)