2011/04/20 - List of keep-alive / close options with associated behaviours.

PK="http-pretend-keepalive", HC="httpclose", SC="http-server-close",

0 = option not set
1 = option is set
* = option doesn't matter

Options can be split between frontend and backend, so some of them might have
a meaning only when combined by associating a frontend to a backend. Some forms
are not the normal ones and provide a behaviour compatible with another normal
form. Those are considered alternate forms and are marked "(alt)".

SC HC PK    Behaviour
 0  0  X    tunnel mode
 0  1  0    passive close, only set headers then tunnel
 0  1  1    forced close with keep-alive announce (alt)
 1  0  0    server close
 1  0  1    server close with keep-alive announce
 1  1  0    forced close (alt)
 1  1  1    forced close with keep-alive announce (alt)

At this point this results in 4 distinct effective modes for a request being
processed :
  - tunnel mode   : Connection header is left untouched and body is ignored
  - passive close : Connection header is changed and body is ignored
  - server close  : Connection header set, body scanned, client-side keep-alive
                    is made possible regardless of server-side capabilities
  - forced close  : Connection header set, body scanned, connection closed.

The "close" modes may be combined with a fake keep-alive announce to the server
in order to workaround buggy servers that disable chunked encoding and content
length announces when the client does not ask for keep-alive.

Note: "http-pretend-keepalive" alone has no effect. However, if it is set in a
      backend while a frontend is in "http-close" mode, then the combination of
      both will result in a forced close with keep-alive announces for requests
      passing through both.

