Cache blob information for retrying layer resolve
Cache blob information for retrying layer resolve

Currently, resolved layer information (`stargz.resolveResult`) is cached for
better `Prepare` performance but there is no caching mechanism on retrying
failed layer resolve. This commit enables to cache valid `remote.Blob`s and to
use them for retrying layer resolve, which allows the snapshotter to bypass some
steps (authn, redirection, getting size info) during the retry.

Signed-off-by: Kohei Tokunaga <72a466a7d91579e23b8af87d6766ee221241ce87@gmail.com>

containerd/stargz-snapshotter,containerd/stargz-snapshotter,containerd/stargz-snapshotter,containerd/stargz-snapshotter