nsqd: protocol consolidation

* fix PUB bug
* add self-contained PUB benchmark (useful for nsqd relative comparison)
* update docs
Merge pull request #63 from mreiferson/bench_63

nsqd protocol_v1 bugfix and benchmark
restructure conn close to avoid panic on channel write
Merge pull request #54 from danielhfrank/54_channel_close

nsq_to_file crash
reader: set timeouts on HTTP requests

move api_request into NSQ package so it can be re-used.
Merge pull request #64 from mreiferson/reader_http_timeout_64

set timeouts on Go reader HTTP requests
Add Makefile

* Added GNU Make Makefile to build programs and examples.
* Thanks to @ploxiln (Pierce Lopez) for providing so much input and
  working through this with me.
Merge pull request #61 from losinggeneration/makefile

Added Makefile
switch to a single binary version

* add a ChangeLog
* add an example rpm spec file
Merge pull request #60 from jehiah/versions_60

Version Insanity
nsq_to_file: better sync strategy
diskqueue: refactor/thread safety correctness

* single ioloop that either reads (ahead), writes, or persists metadata
* buffer reading/writing
* improved metadata synchronization/persisting
* enable the diskqueue torture test by default
nsqd: protocol_v2 simplify messagePump(); remove UUID
Merge pull request #58 from mreiferson/diskqueue_58

diskqueue metadata bug
Merge pull request #69 from mreiferson/to_file_sync_69

nsq_to_file improved sync strategy
nsq_to_http: deadlined http requests
Merge pull request #70 from mreiferson/to_http_timeouts_70

add timeouts to nsq_to_http outbound requests
bump binaries to 0.2.13 and go reader to 0.2.4
Merge pull request #71 from mreiferson/bump_71

bump to 0.2.13
nsq_to_file: check in-flight against RDY for IsStarved()