Not modified filter: debug log format fixed.
Upstream: no need to clear r->headers_out.last_modified_time.

Clearing of the r->headers_out.last_modified_time field if a response
isn't cacheable in ngx_http_upstream_send_response() was introduced
in 3b6afa999c2f, the commit to enable not modified filter for cacheable
responses.  It doesn't make sense though, as at this point header was
already sent, and not modified filter was already executed.  Therefore,
the line was removed to simplify code.
Upstream: removed unused offset to content_length.

It's not needed since introduction of ngx_http_upstream_content_length()
in 103b0d9afe07.
Upstream: fixed cache revalidation with SSI.

Previous code in ngx_http_upstream_send_response() used last modified time
from r->headers_out.last_modified_time after the header filter chain was
already called.  At this point, last_modified_time may be already cleared,
e.g., with SSI, resulting in incorrect last modified time stored in a
cache file.  Fix is to introduce u->headers_in.last_modified_time instead.
Entity tags: downgrade strong etags to weak ones as needed.

See http://mailman.nginx.org/pipermail/nginx-devel/2013-November/004523.html.
Entity tags: weak comparison for If-None-Match.
Entity tags: explicit flag to skip not modified filter.

Previously, last_modified_time was tested against -1 to check if the
not modified filter should be skipped.  Notably, this prevented nginx
from additional If-Modified-Since (et al.) checks on proxied responses.
Such behaviour is suboptimal in some cases though, as checks are always
skipped on responses from a cache with ETag only (without Last-Modified),
resulting in If-None-Match being ignored in such cases.  Additionally,
it was not possible to return 412 from the If-Unmodified-Since if last
modification time was not known for some reason.

This change introduces explicit r->disable_not_modified flag instead,
which is set by ngx_http_upstream_process_headers().
Cache: version in cache files.

This allows to change the structure of cache files without spamming logs
with false alerts.
Cache: ETag now saved into cache header.
Upstream: cache revalidation using If-None-Match.
Configure: style.
Core: plugged socket leak during configuration test.

This isn't really important as configuration testing shortly ends with
a process termination which will free all sockets, though Coverity
complains.

Prodded by Coverity (CID 400872).
Fixed wrong sizeof() in ngx_http_init_locations().

There is no real difference on all known platforms, but it's still wrong.

Found by Coverity (CID 400876).
Core: removed meaningless check from ngx_palloc_block().

The check became meaningless after refactoring in 2a92804f4109.
With the loop currently in place, "current" can't be NULL, hence
the check can be dropped.

Additionally, the local variable "current" was removed to
simplify code, and pool->current now used directly instead.

Found by Coverity (CID 714236).
Configure: restored "nginx/" missed in 6e4bb1d6679d.
SSL: the "ssl_password_file" directive.