HeaderChain

This patch adds a HeaderChain implementation to Haskoin. It is a headers-first chain implementation with optional fast catchup. It can validate the proof of work of block headers and is meant to be used together with an SPV client.