[autotest] Add more timing info for suites

Use job keyvals to keep track of the timing of certain
events that do not map nicely to the start/completion
of jobs.  These include:
  - Triggering of payload/build artifact downloads
  - Completion of staging payloads
  - Completion of staging build artifacts (debug symbols, etc)

BUG=chromium-os:30327
TEST=unit, run_suite and look at the glory of additional timestamps.

Change-Id: I2e8f0c148415bdbb2031616f057153b4bd9523ad
Reviewed-on: https://gerrit.chromium.org/gerrit/21578
Commit-Ready: Chris Masone <cmasone@chromium.org>
Reviewed-by: Chris Masone <cmasone@chromium.org>
Tested-by: Chris Masone <cmasone@chromium.org>
diff --git a/server/cros/dynamic_suite.py b/server/cros/dynamic_suite.py
index 6954171..1bb9b0d 100644
--- a/server/cros/dynamic_suite.py
+++ b/server/cros/dynamic_suite.py
@@ -81,6 +81,9 @@
         if not ds.finish_download(build):
             raise AsynchronousBuildFailure(
                 "Server error completing staging for " + build)
+        timestamp = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
+        utils.write_keyval(job.resultdir,
+                           {'artifact_finished_time': timestamp})
 
         suite = Suite.create_from_name(name, build, pool=pool,
                                        results_dir=job.resultdir)