nsqd: "unhealthy mode" when diskqueue writes fail

Hailo reported an issue where `nsqd` could not write to a failed ephemeral disk on EC2 but the node continued to accept `PUB`.

In this scenario, `nsqd` should enter an "unhealthy mode" where `PUB`s are rejected until the issue can be investigated.

This feedback mechanism to publishers is crucial for them to be able to attempt delivery to another (healthy) node in a cluster or react to this condition in some other way.

Initially, I don't think it's necessary for it to attempt to "heal" itself.  I imagine that in most cases you would want to restart the node anyway, which would clear this state.

cc @boyand
I like this approach, but I imagine coming across a `NOK` instance and not really being sure what's up and being unable to introspect as to why. Can we set a `reason` here, or save the actual error that triggered this and return that in the ping handler, and write some context in the logs about refusing messages due to persisted error state %v. 

Also, this should be probably returned in the /stats endpoint so it can be surfaced in nsqadmin.