Respect Expires headers in the JsonClient cache.
Fix missing change in the test setup.
Add the option to disable caching entirely.
Remove unnecessary nilling of the cache.

In cases involving customisation, we need to keep this around because
we can't currently customise cache sizes and TTLs on individual adapter
instances. I think this is a bug.
Bump up the default cache size.

The original cache size of 10 items dates from the distant past (commits
5906c7b825b24bf38df3 and 938515daae188ee6b1b) before we had any kind of
cache expiry, so the low limit served to prevent stale items hanging
around for too long. We don't need that any more.
Remove specific cache size test.

We're already testing the ability to override the cache size and testing
that the cache is enabled by default, so this doesn't provide a lot of
extra coverage and breaks when we change the default value.
Merge remote-tracking branch 'origin/respect-expiry'