Without inhibit_on_failure on a real_server, when the server is marked
down existing TCP connections to it are simply blackholed. Hence
inhibit_on_failure: by setting the weight to zero no new connections
are sent to that server, but because the server isn't completely
removed from the table existing connections are allowed to continue.

The same problem exists with sorry_server. When a real_server comes
back up the sorry_server is removed from the pool and existing
connections are blackholed. Instead of continued service, which may
usually be a fast response indicating overload, the client must engage
in a lengthy wait for the connection to time out. It would be better
in many cases to allow the sorry_server connections to complete
naturally.

Luckily the code is structured well enough that all is required to get
this behaviour is to set the inhibit member of the sorry_server
structure, which is mostly just a change to the config file parser.