Re-land SafeUpload.

Re-land of https://flutter-review.googlesource.com/c/recipes/+/4940, with fixes for executing gsutils on Windows and restoring the MAVEN upload bucket being wrong.

This time I audited all the expectation diffs, and confirmed only the names changed.

Bug: https://github.com/flutter/flutter/issues/55082

Change-Id: I6fe01eb0bbaf1a42247b9f880258bc795e1ff396
Reviewed-on: https://flutter-review.googlesource.com/c/recipes/+/5040
Reviewed-by: Godofredo Contreras <godofredoc@google.com>
Commit-Queue: Christopher Fujino <fujino@google.com>
17 files changed
tree: c4aa9b36ba15e3f91fedb1c494b609ca196d4ce4
  1. infra/
  2. recipe_modules/
  3. recipes/
  4. .gitignore
  5. .style.yapf
  6. OWNERS
  7. recipes.py