WIP: Resolve "Please support Google Cloud Storage (GCS) as cache target"

This is a general Merge Request template. Consider to choose a template from the list above if it will match your case more.

What does this MR do?

Adds native Google Cloud Storage support to Cache function. This requires a service account with details in JSON format. (See https://developers.google.com/identity/protocols/OAuth2ServiceAccount )

Why was this MR needed?

Running GitlabCI in a non-Amazon context required running the Minio s3-compatible storage server to provide Caching support to GitlabCI. Now, Google Cloud Storage is a first-class citizen for Caching storage, removing the need to run the Minio server at additional cost.

Are there points in the code the reviewer needs to double check?

Does this MR meet the acceptance criteria?

  • Documentation created/updated
  • Tests
    • Added for this feature/bug
    • All builds are passing
  • Branch has no merge conflicts with master (if you do - rebase it please)

What are the relevant issue numbers?

Closes #1773