**Description**

Support passing multiple prefixes to `GoogleCloudStorageListOperator` and `GoogleCloudStorageDeleteOperator` operators.

**Use case / motivation**

I have this folder structure in GCS bucket.

```
+-- year={year}
|   +-- month={month}
|       +--day={day}
|           +-- topic={topic1}
|                 +--file 1
|                 +--file 2
|                 +--file 3
|           +-- topic={topic2}
|                 +--file 1
|                 +--file 2
|                 +--file 3
|           +-- topic={topic3}
|                 +--file 1
|                 +--file 2
|                 +--file 3
|           +-- topic={topic4}
|                 +--file 1
|                 +--file 2
|                 +--file 3
|           +-- topic={topic5}
|                 +--file 1
|                 +--file 2
|                 +--file 3
|           +-- topic={topic6}
|                 +--file 1
|                 +--file 2
|                 +--file 3
|           +-- topic={topic7}
|       +--day={day}
|           +-- topic={topic1}
|                 +--file 1
|                 +--file 2
|                 +--file 3
|           +-- topic={topic2}
|                 +--file 1
|                 +--file 2
|                 +--file 3
|           +-- topic={topic3}
|                 +--file 1
|                 +--file 2
|                 +--file 3
|           +-- topic={topic4}
|                 +--file 1
|                 +--file 2
|                 +--file 3
|           +-- topic={topic5}
|                 +--file 1
|                 +--file 2
|                 +--file 3
|           +-- topic={topic6}
|                 +--file 1
|                 +--file 2
|                 +--file 3
|           +-- topic={topic7}
|                 +--file 1
|                 +--file 2
|                 +--file 3
|           ....
```

What I need to achieve is delete one day of objects. For example, I need to delete objects in `year=2020/month=08/day=19`. I can do that easily using `gsutils`. In `gsutil` you can delete them via wild card `gsutil ear=2020/month=08/day=19/*` but using the REST APIs you can't even if you use a prefix. The reason is there is no one prefix to get all the objects inside a folder. I achieved that by using multiple prefixes and for each prefix, I will get the list of objects. Unfortunately, I can't pass more than one prefix to the operators.

**Prefixes used**
- `year=2020/month=08/day=19/topic={topic1}`
- `year=2020/month=08/day=19/topic={topic2}`
- `year=2020/month=08/day=19/topic={topic3}`
- `year=2020/month=08/day=19/topic={topic4}`
- `year=2020/month=08/day=19/topic={topic5}`
- `year=2020/month=08/day=19/topic={topic6}`
- `year=2020/month=08/day=19/topic={topic7}`

],
            stdout="pipe",
            stderr="stdout",
            close_fds=True,
        )
        mock_hook.return_value.upload.assert_has_calls(
            [
                mock.call(
                    bucket_name=destination_bucket,
                    filename=f"{destination}/{file1}",
                    object_name=f"{destination_prefix}/{file1}",
                    chunk_size=None,
                    num_max_attempts=1,
                ),
                mock.call(
                    bucket_name=destination_bucket,
                    filename=f"{destination}/{file2}",
                    object_name=f"{destination_prefix}/{file2}",
                    chunk_size=None,
                    num_max_attempts=1,
                ),
            ]
        )
class TestGCSDeleteBucketOperator:
    @mock.patch("airflow.providers.google.cloud.operators.gcs.GCSHook")
    def test_delete_bucket(self, mock_hook):
        operator = GCSDeleteBucketOperator(task_id=TASK_ID, bucket_name=TEST_BUCKET)
        operator.execute(None)
        mock_hook.return_value.delete_bucket.assert_called_once_with(bucket_name=TEST_BUCKET, force=True)
class TestGoogleCloudStorageSync: