Fixed a bug in the piece message.  Wrote what was required for preparing messages for the wire.
Moved the parsing of message payload to the Message layer.  The peer socket now just reads a length value and the rest of the message if there is any more to read.
Fixed a bug in bitfield messages.  Also cleaned up the Block messages.
Don't want to lose changes, but need to check on state of master, and don't want to stash.
Merge peer_socket and message changes from master.
Fixed a bug with Piece messages discovered when testing writing to a file.  Implemented the ability for a Torrent object to the contents of piece messages to a file.
Implemented reading and writing of files downloaded via BitTorrent.  The reading and writing occurs by producing and consuming PieceMessage objects so all reading and writing is immediately applicable to processing Peer Protocol Messages
Minor fixes to make rake pass after implementting Torrent IO
Use a test output file for reading and writing test.  Delete the file at the end of the test for a clean test environment.
Switched to a smaller torrent file, but it lacks peers which support DHT
Adding the new small torrent test files.
Added tests which proves that we can distinguish between properly downloaded pieces and incomplete or corrupt pieces.
Fixed Rake.  The Torrent reader writer test was passing locally, but not from Rake.
The Respond state machine is now defined and has one good test dedefining a couple simple state transitions. More, tests are needed, but this is a good point to commit as all tests are passing.  I have removed references to the old and ill-conceived state machine.