Update _CheckForImmutableRevision to use git rev-list
Update _CheckForImmutableRevision to use git rev-list

_CheckForImmutableRevision is used to see if repo can
skip fetching a project, but 'git rev-parse' with partial
clone does a data fetch to accomplish this.

Changed to use: 'git rev-list -1 --missing=allow-any <SHA>^0' which
checks the local ref without fetching from the server first.

Bug: [google internal] b/179477822

Testing:
- Unit tests
- Verified init/sync working on aosp-master
- Verified wwith a pinned manifest that local ref check works (no fetch)

Change-Id: If327b893c6658421f41df1f58c337f53b4c60ce6
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/296142
Reviewed-by: Dan Willemsen <c404d7d1f679fdc222835736948b216a5578061d@google.com>
Tested-by: Ian Kasprzak <4c315c1d320e6135fa80ae1da76eb10322385ef0@google.com>

lewixliu/git-repo,GerritCodeReview/git-repo,GerritCodeReview/git-repo,couchbasedeps/git-repo,lipro-yocto/git-repo,couchbasedeps/git-repo,lipro-yocto/git-repo,lewixliu/git-repo