Make token name comparison a robust and reusable function
Don't bother with any of the beresp.body transformations (esi/gzip/gunzip)
if we know the length to be zero.

This is inspired by ticket #1590, even though I can't seem to see what
Varnish does wrong in that case to begin with.

Fixes	#1590
Remove the outdated and increasingly misleading dot(1) state graphs
from the source code.  We now have a working documentation system
and these state engines should be documented there, using appropriate
tools.

Fixes	#1487
Ask the director for the suckaddr, rather than groping around inside
it's privates for it.
Add some sanity-asserts to vsl buffers
Move the ->getfd() responsibilities a few microns.