Implement repository caching in www-gitlab-com pre-clone step

NOTE: See the epic for more context on the effort to reduce repo cloning time.

NOTE: This change was reverted, it was not performant enough. We will revisit the docker approach. See details in this comment: !40665 (comment 287868133)

DESCRIPTION

For each job in the www-gitlab-com CI/CD build, the git repo clone currently takes between a minute and a half and two minutes, because it is very big and takes a lot of network time.

If we cache the git clone of master as a tarball to object storage on a regular basis, and only fetch new commits for the current pipeline branch since the last image was built, this time could be greatly reduced.

RELATED ISSUES

This approach has already been successfully implemented for the gitlab-org/gitlab repo, so all we should need to do is replicate it for this gitlab-com/www-gitlab-com repo.

We previously were going to accomplish this via building a Docker image, but it makes more sense to use the already-proven approach, which is simpler than the Docker approach anyway.

For more details, see the associated merge request.

Edited by Chad Woolley