sweet: switch to a zip archive format for assets

Currently sweet stores assets in GCS as a gzipped tar archive, and while
this is amenable to streaming, it is not amenable to saving disk space
where possible. So, switch to a zip archive format which allows
decompression of individual files found within, and store the assets as
compressed in the cache in "sweet get", with an option to extract them
out for development.

On that note, "sweet run" needs to support both decompressing an
individual benchmark's assets and working from an uncompressed
development directory, so this change implements that too.

All of this is in service of using less disk space to hopefully allow
testing on regular builders.

Change-Id: I8c028620271b44d5dc4ee95d39693119578717ab
Reviewed-on: https://go-review.googlesource.com/c/benchmarks/+/382655
Trust: Michael Knyszek <mknyszek@google.com>
Run-TryBot: Michael Knyszek <mknyszek@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Michael Pratt <mpratt@google.com>
12 files changed