ubuntu.torrent is more reliable in finding peers.
Added write capability to Peers. Removed unnecessary requirements.
Torrents must be able to read as well as write.
Trying to get rake passing again on this branch.
Use mp3 torrent manually.
Fixed torrent reader writer test.  Rake passing.
Go back to ubuntu.torrent, as the default test metainfo file.
Moved peer decoding out of the AnnounceResponse class up to the torrent level.
Renamed Torrent class to Tracker class.  Stage 1 of decoupling things from the Torrent class.
Fixing tests to deal with the decoupling of peers and tracker.
Fixed the peer creation problem that was making handshakes fail.  A peer must be created with a valid hashed info.  An assert has been added to require this, so I don't have to deal with this problem again.
Added an optional peer id to the Tracker constructor.
Updated Swarm constructor to provide a peer id to the Tracker.
First iteration of the block directory.  So far it is just an array of booleans indicating whether a pieces is finished or not.
Caught state_machine branch up to master.