Generalize the transmit code, so it can be used for both req.* and
resp.*

Submitted by: jonathan.huot@thomsonreuters.com
Check return from pthread_mutex_trylock()
un-inline a couple of enum-to-string functions
Start splitting "generic HTTP", whatever that might be or become,
from HTTP1 specific functionality.
Rename HTC_* to HTTP1_*

Add a read-method to http_conn, and use it from all VFPs, which
should be protocol agnostic.
Inline three small functions of less generality than expected.
Revisit the managers code to start and stop the child.

Eliminate SIGCHLD usage, it's icky, at best, when we have other
child processes (See #1256)

Instead of reaping the child on SIGCHLD, we do it explicitly,
and there is now a 10 second wait to give the child a chance to
shut down gracefully, before we take a bat to the kneecaps.

More work may be warranted, but I want to get some feedback on
this bit first.

Fixes	#1256
Split absolute URIs into URL and Host: as per RFC2616 5.2

Fixes	#1255
Move http_Write() to HTTP1_Write().  The name is still not really
good, but at least it belongs here.
Only msync() on OS's without coherent buf/vm (aka: OpenBSD)

Fixes #1198
varnishadm: Handle EINTR from poll

poll can return EINTR, so we need to handle that.

Fixes: #1166
varnishlog: if -m given, but no -c and -b, assume both

If we don't add -c and -b in there, varnishlog will print all
transactions that aren't associated with a session.  That is likely to
not be what the user wants.

Fixes: #1071
Handle Cache-control: (private|no-cache|no-store) by default

As per discussion at the Varnish dev meeting, seeing Cache-control:
no-cache (and friends) now disable caching by default.  As a twist, we
respect Surrogate-control if that is present, in the default VCL.

Fixes: 1124
References: 477
Rewrite the vmod-spec compiler before we start adding new and fancy
features.
First compiler now recoginize what will become "VMOD objects"
once I get the other compiler to cope too.

This snapshot is committed to solicit feedback, so please do :-)
Forgot to git add this one.
prefix the vmod-obj struct with the vmod name, they are in global
namespace for vmod.
Forward declare the vmod object struct
This is a very shaky first prototype of VMOD objects.
Discontinue words as fixed tokens ('if', 'else' etc) and use ID's instead.

Fixes #1259