- In this PR I extract from the crate `db` to the new `storage` crate all traits that is not specifically related to the concrete implementation of database. So I now can use `verification` crate without `rocksdb` dependency.
- Also I modify the `HeaderAcceptor` so that can be constructed without the private `BlockDeployments`.
* db refactor in progress, refactored kvdb
* kvdb refactor
* removed unused RwLock
* removed unused RwLock
* BlockChainDatabase
* db refactor in progress
* implemented BlockProvider for newdb
* fixed compiling
* newdb TransactionMeta
* newdb tests
* reopen tests for newdb
* replaced old db with new db
* chain_verifier uses new db
* sync module uses refactored db
* check double spends in verification layer
* added Forkable trait to satisfy resolving recursive types by compiler
* new db regtests in progress
* fixed verification and sync unit tests
* fixed miner and rpc unit tests
* implemented fmt::Debug for few structs
* removed commented out code
* fixed bencher target
* removing commented out code, polishing db_refactor pr
* redundant spaces
* chain verifier stub
* test storage stub
* test storage -a
* iteration test layout
* flush work
* nbits check
* age & coinbase
* utils mod
* fix warnings
* transaction verification
* merkle root
* first tx test
* use all
* test storage to db