Respect Cache-Control headers in addition to Expires in JsonClient

At present, only Expires headers are used to set the
cache length period for a request. This modifies
the `response_cache_time` method to look for a
`Cache-control` header in the first instance, and
then fall back to the `Expires` header if it is
not present or does not contain a `max-age` or
`no-cache` directive.
Swap out the double negative

Oh ActiveSupport `present?`, where art thou?
Add some comments to the method to explain what we're looking for
Make sure we're setting cache expiry times in UTC
Bump gem to version 7.12.0

Changes in this release:

- #82: respect Cache-Control headers in the JSON client.
- #83: Add method to request all needs to Need API client
Merge pull request #15 from theodi/gds_upgrade_7.12.0

Gds upgrade 7.12.0