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


It makes the process look less linear that it really is, while simultaneously hiding complexity.

One way to see it is, if a whole step of the process ('step 2', 'step 4') is one line, then it's not quite right. On that note, it's not ideal to do things *between* steps (as above, after 'step 1').

It's the same thing with `reorder_tx_index()` below.