Add initial support for `mb run --swarmed`.

This adds the initial support to MB to be able to build and run
a binary under swarming easily. It builds on the existing code
in MB for building and isolating targets, and just adds uploading
the isolate, triggering the task, waiting for and collecting the
results.
e
The end goal is that it should be this easy to reproduce a failure
in a bot config:

    $ fetch chromium && python src\tools\mb\mb.py run --swarmed \
        --master tryserver.chromium.win \
        --builder win-msvc-rel \
        out\Release base_unittests

Adding this gives us a starting framework that we can build on
for the bit.ly/chromium-test-runner-api cleanup work.

[email protected], [email protected]
BUG=794783

Change-Id: I160706b1a563bceb36b8465857d32692a3ca004d
Reviewed-on: https://chromium-review.googlesource.com/825925
Commit-Queue: Dirk Pranke <[email protected]>
Reviewed-by: Marc-Antoine Ruel <[email protected]>
Cr-Commit-Position: refs/heads/master@{#524568}
3 files changed