Dgoodwin/status cache

Initial version of entitlement status caching.

If we encounter a network error, and the cache exists, we will continue using it instead of the results we would have fetched from the server.

Currently there is no expiration of this data. In the future we could make it more intelligent in checking for installed product mismatches, bypassing a validUntil date, or expired entitlement certs, to identity a time when it is no longer safe to use the cached results. This was not part of the original feature request so something we can look into if the need arises.