~ Rename Message to Protocol.
~ Merge Block and Handshake into Protocol.

We could provide better api this way. Also this refactoring should
reduce compilation time.
~ Minor changes.
~ Rename PeerWire to Exchange.
~ Fix build fail after renaming.