nsqd/nsqlookupd: simplify protocol magic handling
nsqd/nsqlookupd: forceably close connections on invalid magic
nsqd: update SUB/IDENTIFY to fatally error and send OK responses
nsqd: improve IDENTIFY/SUB in tests
nsqd: add context to error frames
nsqd: protocol v2 more fatal errors and better error responses

* invalid RDY count values are now fatal
nsqd/nsqlookupd: refactor error passing, improve errors where we want nsqd side context but simpler error response to client
nsqd: add ID to FIN/REQ error
nsqlookupd: improve reliability of tests