Scgi: do not push redundant NULL element into conf->params.
Upstream: moved header initializations to separate functions.

No functional changes.
Upstream: moved header lists to separate structures.

No functional changes.
Upstream: different header lists for cached and uncached requests.

The upstream modules remove and alter a number of client headers
before sending the request to upstream.  This set of headers is
smaller or even empty when cache is disabled.

It's still possible that a request in a cache-enabled location is
uncached, for example, if cache entry counter is below min_uses.
In this case it's better to alter a smaller set of headers and
pass more client headers to backend unchanged.  One of the benefits
is enabling server-side byte ranges in such requests.
Proxy: renamed and rearranged fields in proxy configuration.

No functional changes.