Store artifacts from the remote cache in the local cache
When the default local directory build cache is used, we use an optimized
way to store the downloaded artifact in the cache. Using a custom local
cache, or with the local cache disabled, a temporary file will be used
to store the downloaded artifact.
Packing is also separated from uploading to the remote cache. Again,
when the default directory cache is used to store the cached artifact in
the local cache before uploading it to the remote cache. With a custom
local cache, or when a local cache is not enabled, task outputs will be
stored in a temporary file before uploading.
Build operations are emitted separately for packing, unpacking,
uploading and downloading the cache artifact.