snap: answer POST /v2/snaps/refresh from recorded results when offline or the store is overloaded (install/refresh/download)

Record the store's refresh results verbatim while online (per action, keyed by series/arch/store/classic/fields + name+channel for install/download, snap-id+tracking-channel for refresh) and synthesise the response when the proxy is refusing the store: only revisions whose blob is cached and whose assertion chain (snap-revision, snap-declaration, account, account-key) is cached, per-action pkgproxy-offline errors otherwise, never a half-install. Epoch-guarded. Part of #54 (closed).