[WIP] Improve user context docs

The docs currently show the following confusing VCL snippet, which is really only required for our functional tests:

```
        # A little hack for testing all scenarios. Choose one for your application.
        if ("failure" == req.http.x-cache-hash) {
            set req.url = "/user_context_hash_failure.php";
        } elsif (req.http.x-cache-hash) {
            set req.url = "/user_context_hash_cache.php";
        } else {
            set req.url = "/user_context_hash_nocache.php";
        }
```

This PR replaces that with:

```
        # Backup original URL
        set req.http.x-fos-original-url = req.url;
        set req.url = "/user_context_hash.php";
```

I moved the test-specific VCL into a custom subroutine.
Re-using Varnish 3 VCL where possible to reduce duplication.