replace writer.Close() with write.close()

1. close(this.exitChan) in writer.close()
2. replace Mutex with transactionStat
Merge pull request #202 from datastream/master

go-nsq: fix bug in Writer
nsqd: use broadcast address (default of hostname) for statsd prefix
Merge pull request #206 from mreiferson/statsd_prefix_206

nsqd: use broadcast address for statsd prefix
bump to 0.2.21-alpha
fix travis script
Merge pull request #208 from mreiferson/fix_travis_208

fix travis
nqsd: reduce the log noise when clients trigger errors
nsqd: fail to write a heartbeat is fatal
Merge pull request #207 from mreiferson/error_log_cleanup_207

nsqd: error logs cleanup
nsqd: cleanup some unnecessary exit code
nsqd: possible source of diskqueue metadata corruption?
nsqd: at tail of diskqueue force depth=0 and log errors
nsq_tail: generate a random channel
Merge pull request #190 from mreiferson/nsq_tail_safety_190

nsq_tail: safety
Merge pull request #203 from mreiferson/diskqueue_203

nsqd: diskqueue corruption and depth accounting
nsq_tail: fix import
Merge pull request #209 from mreiferson/nsq_tail_fix_209

nsq_tail: fix build
update ChangeLog
nsqd: fix diskqueue name printing for metadata corruption