* Add hour granularity. Bisection proceeds on date boundaries until
the delta reaches one day, then continues with hours.
* Sync the main manifest after "repo sync -l -m ..." because repo
resets it.
* Use internal git repos (under .repo/projects) to fetch revisions
because a working tree may not be available (eg. if a project is
added to the main manifest during the bisect timeline).
* Several other misc fixes and cleanups.