Change the "error" syntax to:

	return (error(status_code [ , response_string ]));
Make it possible to return(purge) in vcl_recv{}.

After the purge, you will end up in vcl_purge{} from where it will
(at some future date) be possible to order a fresh fetch of the
object.

Doing purge from vcl_recv{} solves half of the object existence
problems in vcl_lookup{}.
Change args to http_FilterReq() to a lower level.
Forgotten file in last commit:

Change args to http_FilterReq() to lower level.
Change args to FetchHdr() to lower levels.
Give busyobj its own "t_fetch" timestamp, (== req->t_req) and
only pass req to FetchHdr if we intend to send the body over.
Move the "need_host_hdr" test to cache_fetch.c
Make VRY_Create() operate on the busyobj and specifically on the
bereq.* rather than the req.*, since that's what the backend saw.
Add panic dump facility for threads which have a busyobj rather than a req.
Interesting:  on FreeBSD uninitialized pthread keys default to the
first one created.  I would have skipped #0 if it was me...