Because `messagePump()` is running in another go-routine we can't just update the variables on our client instance when a client sends an `IDENTIFY` command.  Instead, similar to the change-set for #131, we need to pass the updated heartbeat interval to this go-routine over a channel.

We can maintain a local variable for our ticker (that defaults to `nsqd.options.clientTimeout / 2`) and is replaced when we receive new information on that "update" channel.

This would avoid having to create our own heartbeat type.