chrome-sdk: Default to updating the SDK.

Previously the SDK was updated only if the user specified --update.
Now, we always try to update the SDK based on the version specified in
the checkout, whether it be a gclient or repo or submodule.  This way,
when users run 'gclient sync', 'repo sync', or 'git crup', the
subsequent 'cros chrome-sdk' invocation will automatically fetch the
right SDK version.

Also switches the version format used internally from 'R28-3912.0.0' to
just 3912.0.0.  The --version flag will also only accept versions of
this form.  But when we do a GS lookup/fetch, we prepend the release
branch to the version.  Also, for clarity, we display the release branch
in the SDK shell prompt.

Finally, we add code to accomodate future artifacts which will be
uploaded to URL's that don't contain the release version - see
crbug.com/230190.

BUG=chromium:230190
TEST=unit tests, manual tests.

Change-Id: Ia7b20815a18e0765515a893576fc45bddac2b8e0
Reviewed-on: https://gerrit.chromium.org/gerrit/47511
Commit-Queue: Ryan Cui <rcui@chromium.org>
Reviewed-by: Ryan Cui <rcui@chromium.org>
Tested-by: Ryan Cui <rcui@chromium.org>
5 files changed