Unreliable test: nsqd.TestClientTimeout

Reporting a test that fails sporadically:

```
--- FAIL: TestClientTimeout (0.36 seconds)
	assert.go:15: /home/travis/gopath/src/github.com/bitly/nsq/nsqd/protocol_v2_test.go:105
	assert.go:24: ! "_heartbeat_" != "OK"
```

I've seen it mostly when building Dockerfiles, but you can see it in action on [an automated Travis build](https://travis-ci.org/bitly/nsq/jobs/30506855#L254).

If I had to take a wild guess, I'd say `sub()` was getting a heartbeat before it got the `OK`, which it then calls readValidate on, which fails because it's a `_heartbeat_`, not an `OK`.