Changed BlockchainDB::pop_block

pop_block will now return by reference both the popped block and a list
of the transactions associated with that block.
Massive commit, needs broken up into smaller commits!