jiri: CleanupProjects should reset to project.Revision, if specified.
jiri: CleanupProjects should reset to project.Revision, if specified.

The old logic in CleanupProjects would always put the project on the
master branch, but leave it up-to-date with origin/master (or the remote
branch if specified).

This is incorrect for projects that have a revision.  In that case, we
need to checkout master and then reset to the revision.

The "resetProjectCurrentBranch" implements this logic, so the fix is to
call it from resetLocalProject.  A small amount of code cleanup was
needed to make this possible.

Change-Id: I41b3b5ac8b58509dc31b894432a768c129119d54

vanadium/go.jiri,vanadium/go.jiri