Prepare 4.0.2.
Add forgotten bugfix to list.

Noted by:	Matt Robenolt
Only override CFLAGS on RHEL6.

And also don't disable the default compiler optimization.
Fix a cornercase related to empty pass objects.

Fixes #1612
Testcase by: 	daghf

Conflicts:
	bin/varnishd/cache/cache_http1_deliver.c
Check for multiple Content-Length headers
Make it possible to receive resphdrs and respbody separately.

Always interpret C-L in decimal
Fix a couple of bugs for the detached rx*body functions.
Add a debug facility to force a WRW_Flush after the headers.

Conflicts:
	bin/varnishd/cache/cache_http1_deliver.c
Don't needlessly throw away Content-Length from backend, but assume
it is sane and pass it to streaming clients, provided we don't munge
the body along the way.

The ungzip'ed length stored as attribute has not been backported to
4.0, meaning on-the-fly ungzip will be delivered chunked.

Fixes: #1506

Conflicts:
	bin/varnishd/cache/cache_fetch.c
Delay HSH_Complete() until the storage sanity functions has finished.

This fixes a race where the client started freeing the body (which it
does in the case of new hit-for-pass object being inserted) before the
sanity functions were run.

Fixes: #1596
Document -v param in vcl.show
Document how comments work in VCL.

This was mentioned in the user guide, but not in the man
page itself.

Pointed out by:		Brett Fitzgerald
Spelling
document bereq.uncacheable and beresp.uncacheable
document keep
document some more object variables
make bereq.uncacheable read-only outside backend_fetch

Writing to bereq.uncacheable in backend_response and backend_error would only
make sense in the context of a retry. In most real world cases, writing to
be*resp*.uncacheable would be intended in backend_response and backend_error.
Include the Varnish version on panic
vcl_pass might return fetch, not pass

Spotted by: coredump
Skip the argument names when writing the prototypes