Reworking the way getting config values works.

The returned configuration object includes a get method that will use a cached
value unless the cache has expired. If the cache has expired, the cache will be
refreshed then the value retrieved.