Fix Bitv for new rustc changes
Add next pointers to blockchain for easier scanning

`prev` is unambiguous since the blockchain is a tree; `next` is not,
since there may be forks. The current code keeps `next` pointing
along the best chain by backscanning and updating on every call to
`set_best_tip`.
Make Blockchain store blocks rather than headers, add iterator, fix tests
Create state machine for Bitcoind, partially clean up Select stuff
Implement new select! macro. much cleaner :)
Massive restructuring to respond to messages in right order

Also update UTXO set
Also rustc fixes
Use Uint256 for patricia tree keys, fix up utxoset