fake blockchain generator + some simple performance test
network :no_difficulty option to avoid monkey patching
refactor FakeBlockchain to work around caching issue
fix fake chain generation

genesis block was not being yield, so the blocki #1 was becoming genesis

* moved parsing blocks from disk away from the benchmark
* added check to make sure block was really stored in the main chain
check for already spent outputs with a single query during block validation

+ add index on txin (prev_out, prev_out_index)
remove duplicate entries in the Gemfile
Merge branch 'validation_optimizations2'