Move uploading of VMTest artifacts to VMTest stage.

This move is required in order to add information about Chrome crashes
into the VMTest stage.

This is a change that Chris Sosa and I have wanted to do for a long time but
never got around to implementing.

Complex communication between stages can make our lives miserable because it
makes for more complicated code and harder to read logs.

Some advantages of this change:

1. Archive stage now no longer waits for the VMTest stage. This means that
   it's now easier to understand why the Archive stage is slow, if it's slow.

2. Archive stage is now a lot simpler in general. The previous, complex
   interaction between VMTest and Archive often lead to bugs in corner cases,
   such as when the VMTest stage is skipped.

Besides the above, I've also cleaned up the output and tests a bit, so that
the VMTest stage doesn't get overloaded with a ton of unnecessary output.
Since this involved removing the logging statements whenever a gsutil command
was run, I also added a timeout here so that we'd always know what happened if
a gsutil command hangs for >60 minutes.

BUG=chromium-os:38586
TEST=Unit tests and remote trybot runs, including failure cases.
TEST=Verified VMTest output is the same in failure and success cases.

Change-Id: I451717539c3794446656aac8bd30329fea53454c
Reviewed-on: https://gerrit.chromium.org/gerrit/42903
Commit-Queue: David James <davidjames@chromium.org>
Reviewed-by: David James <davidjames@chromium.org>
Tested-by: David James <davidjames@chromium.org>
4 files changed