Writing out piece data on piece completion.

lib/cache - fixed syntax error in evict()
lib/peer - added capability to send have messages
lib/torrent - now writes out piece data on piece completion or cache eviction.  This uses synchronous write streams, which will hopefully change in the future.  We are also now sending have messages on each completed piece.