Correctly pass blocks into `VERB_json` methods.

This previously prevented creating custom response objects with non-bang
methods.
Add a nil `web_url` to the content API helper.

This is more consistent with the actual content API response.
Allow relative web URLs in content API clients.

Without this, all URLs returned from the content API are absolute,
meaning links generated from the content API on staging front-ends
take people off to the live site.
Fix caching behaviour when using custom responses.

With a shared cache, rewriting the response hashes to use relative URLs
causes these rewritten responses to be saved into the cache. To avoid
causing a problem if multiple API clients connect with different
settings, we can cache the RestClient response instead of the
transformed Response object.
Fix relative URLs to other hosts with same scheme.

This would otherwise give `//host/path/to/file` relative URLs, which
would technically be correct, but would potentially be confusing.
Rename the `website_root` parameter.

As @jamiecobbett and @jystewart pointed out, the old parameter name
didn't make it clear what it was for. The new name is a bit clunky, but
is at least explicit.
Clarify a comment on the content API client.
Extract request caching into a private method.
Fix indent level on `else` block.
Merge pull request #47 from alphagov/strip-web-urls-rebased

Convert site URLs to relative URLs when requested