relay: stop dispatching before shutting down routing
server_queuereader: avoid race on self->failure

Don't unset self-failure prematurely, or concurrent writers may get
blocked under false assumptions.  At the same time, report when a server
comes back, so we have a trace of loss + recovery.