Feature-flag ClientIP test for Cloudflare

Use the new vendor flag so that `TestReqHeaderXFFCreateAndAppend()` is
not run if we're testing against Cloudflare, as we know they do not
yet support this feature.

Also, tidy the sort order of the variable definitions and use `:=` for
assigning `sentHeaderIP`.
Fail test when no vendor implementation known

Fail, rather than skip, a test if we haven't written test logic specific
to that vendor.

The aim of this is that new vendors will causes the tests to fail,
meaning that either:

a) the test should be modified to skip that test if the feature is
_known_ not be supported by the vendor, or,

b) the test should be modified to support the vendor's unique
implementation of the feature if it's supported, or,

c) the vendor CDN configuration needs modification to make the tests
pass

This will allow us to distinguish between features we know to be
unsupported, features that are supported but we don't yet test correctly
for, and features which have not yet been correctly configured in our
CDN account.

Note that we specify Fastly as the vendor when running the mock tests
(also used by Travis) as Fastly are our current vendor and the mock
virtual machine roughly emulates Fastly's service. If we didn't specify
Fastly when running the Travis CI tests, the tests would fail with
'notImplementedForVendor' errors.

* * *

Also, fix a syntax error where `t.Skip()` was called as `t.skip()`.
Alphabetise constants
Add 'Guru Mediation' error page to mock config

Add a 'Guru Mediation' (sic) error page to the Varnish mock
configuration to match Fastly's error page which contains this same
typo.

Since the Varnish mock configuration already mimics Fastly's behaviour,
it makes sense to extend this to the error page. We can then look at
mimicking other CDN vendors using the mocks as necessary in future.

This page is adapted from Varnish's built-in `default.vcl`[1] with a
noticeable difference that I had to add `+` as a concatenation error,
otherwise the VCL fails to compile with the error:

    Notice: /Stage[main]/Varnish/Exec[varnish-restart]/returns: Expected ';' got 'obj.status'
    Notice: /Stage[main]/Varnish/Exec[varnish-restart]/returns: (program line 174), at
    Notice: /Stage[main]/Varnish/Exec[varnish-restart]/returns: ('input' Line 157 Pos 15)
    Notice: /Stage[main]/Varnish/Exec[varnish-restart]/returns:     <title>"} obj.status " " obj.response {"</title>
    Notice: /Stage[main]/Varnish/Exec[varnish-restart]/returns: --------------##########----------------------------
    Notice: /Stage[main]/Varnish/Exec[varnish-restart]/returns:
    Notice: /Stage[main]/Varnish/Exec[varnish-restart]/returns: Running VCC-compiler failed, exit 1
    Notice: /Stage[main]/Varnish/Exec[varnish-restart]/returns:
    Notice: /Stage[main]/Varnish/Exec[varnish-restart]/returns: VCL compilation failed

This is also necessary to make the CI tests pass since we're modelling
our Varnish behaviour on Fastly.

[1]:
https://www.varnish-cache.org/trac/browser/bin/varnishd/default.vcl?rev=3.0
Use a simple string for empty synthetic response

`{"` is used for mainly for multi-line strings, whereas a simple string
would suffice here:
https://www.varnish-cache.org/docs/3.0/reference/vcl.html
Don't skip Cloudflare unspoofable client IP test

Cloudflare have promised this feature and we need it, so let it fail for
now as a reminder that this isn't yet implemented.