nsqlookupd: introduce V2 protocol (framed)

* eliminate SendResponse() and ReadResponse() in favor of
  always using ReadUnpackedResponse()
fixes after rebase
nsqd: if we error sending heartbeat exit
nsqlookupd: a bit of V2 refactoring to support heartbeats
improved lookup_peer