server_queuereader: don't pollute errno with close()
dispatch_runner: report on accept() errors
server_queuereader: centralise sleep logic

When writing to a server failed, we could end up spin-locking until it
became available again.  This is undesirable (duh), so make the loop
logic detect the error condition and perform the wait to avoid this.
version bump