Read all the blocks!

- This now uses some cheating to walk the entire block chain and do some
surface validation on its blocks.
--- A block message is contextually invalid if:
--- 1. We receive them more than 2 seconds before receiving their
previous block.
--- 2. Its SHA256d hash is not less than its packed target (which I
think I got right...).
- To cut down on console spam, the console now just dynamically updates
the last line to show the command from the last received message, the
command's result, and the number of valid blocks received in the block
chain.