repo-bisect: Multiple fixes and enhancements

 * 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.