checkout: support submodules
Update the checkout module to support git submodules:
* Convert buildbucket data from either Gerrit CLs or Gitiles commits
into something consistent.
* Do an initial full recursive checkout, then recursively read git
submodule statuses, finding the submodule (or top-level repository)
matching the buildbucket data.
* Update the matching submodule to the commit from the buildbucket
data.
* Update the repo checkout to use the new buildbucket wrapper.
Using submodules within Android Repo Tool projects is not supported,
but should be straightforward.
Unfortunately there are many many minor changes to pretty much all
recipe test expected output files.
Change-Id: I9cebe88f9f1e87448ade1bc6e98cb1b28b1ba1c0
45 files changed