An external bitcoind index management service module.
By default, this module includes a script, spents, transaction block, txout, tx, median time past and fee indexes.
The module uses getblockheader, getblockhash, getblock and getbestblockhash RPC methods for blockchain synchronization; and getrawmempool for mempool synchronization.
-txindex is not required for this module; but is still useful for individual transaction lookup (aka txHex).
See #6 if you think an independent transaction index should be added.
Assumes yajrpc is used for the provided bitcoind RPC object; and leveldown for the database object.
When conveying block height, -1 represents unconfirmed (in the mempool).
null represents unknown or missing.
For example, the height of the transaction ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff in the Bitcoin blockchain is null (it doesn't exist!).
