Half way through the message creation pipeline. Don't want to lose progress.
Cleaned up reading messages off the wire a little bit.
Keeping the test change for working out the peer communication bugs.
Figured out why handshakes were going wrong in the PeerSocket.  I wasn't passing in the hashed info and local peer id.
Ported fixed peer socket from that branch.
All tests passing.  Removed superfluous socket open in Peer constructor.
All tests passing. Fixed all hand shaking issues.  The last remaining problem was that a peer should not attempt to hand shake more than once.