Improve PURGE request handling in Varnish

All requests coming into Varnish have a client.ip of localhost as they
come from Nginx on the same machine. This change checks for the
X-Real-IP header that is set by Nginx and prevents PURGE requests if it
is present.

This is really nasty. Unfortunately Varnish doesn't let you check
arbitrary headers against an acl.

Also, we have logic that switches between the backdrop read and write APIs
based on the verb. This catches PURGE requests and allows them to be
passed on to get handled by the PURGE section below.

I have not added a corresponding pp-smokey regression test for this. I'm unsure of how to make a test that can be run locally as well as on the environment.