Update docs/protocol.md

The message id is a 16 byte hex string.  Very confusing when the docs say it is 16 byte binary.
docs: cluster data flow
update contributors
nsqlookupd: register/unregister cleanup

* add /debug endpoint for tests
* add UNREGISTER test
* actually remove topic registrations
* cleanup channel registrations (but warn) when unregistering a topic
* improve AddProducer/RemoveProducer so we can log more clearly when
  things are happening (and also improve general logging)
nsqd: move responsibility of notifying to topic/channel Delete()
test: expand cluster tests

* add a bit of sleep in between testing daemons that just started
Merge pull request #134 from mreiferson/registration_fixes_134

nsqd/nsqlookupd: registration fixes
nsqd: remove support for identification in SUB; remove old process metadata format
nsqd: make MPUB an atomic operation
Merge pull request #135 from mreiferson/atomic_mpub_135

nsqd: atomic MPUB
Merge pull request #132 from mreiferson/deprecate_132

nsqd: clean up deprecated code
update changelog and add upgrade notes
fix graphite for default prefixes & gauges

* use per-metric type (ie: gauge vs counter) graphite prefixes
Merge pull request #139 from jehiah/graphite_gauges_139

Two missing Grahite graphs in nsqadmin on v0.2.16
nsqadmin: fix redirects

* PostParams.Get non-errors
* better handling of empty params
docs: correct MPUB documentation
Merge pull request #138 from mreiferson/nsqadmin_rd_138

nsqadmin: action redirects bug
Merge pull request #140 from mreiferson/mpub_docs_140

MPUB protocol spec
handle gzip revisions (don't append existing files)
reset revision counter