Adding HeaderChain
Adding utility functions to HeaderChain
Removing bestBlock and lastDownload pointers from the HeaderChain
Initial commit of a node Peer
Using typeclasses for defining the Peer behavior
Letting the user decode how to run the Peer monad stack
Adding PeerManager and SPVNode
Simplifying PeerManager
Each node layer now manages its own state monad
Adding functionality to the SPVNode
Adding publishTx and processRescan to SPVNode
Adding functions processInv, processTx and downloadBlocks to SPVNode
Adding function spvPeerMerkleBlock to the SPVNode
Inserting genesis block hash in the saved wallet hashes after a rescan
Making all data type fields strict
Merge pull request #115 from plaprade/headerchain

HeaderChain
Adding strictness annotations on HeaderChain types
Removing the event channel from the SPVNode and exposing class functions for tx and block import
Fix warnings
Removing outdated examples