This lets users configure gitbuilder without needing to change any files tracked by git. Note that branches.sh still chdirs to the build directory, as a convenience.
This involved fixing a bug in the newly introduced "branches.sh -v", where the listed tags weren't actually the commitid of the tag, but the tag's hash instead.
It was harmful anyway: git show-ref for tags returns the objectid of the *tag*, not of its commit object. You can check out using the tag object, but then your checkout has a totally different object from the commitid that revlist returns! So just avoid the confusion by throwing away the objectids from branches.sh altogether. It turns out we were only using them in one place, and even that wasn't such an *important* place, so it's fine.
Otherwise autobuilder.sh will try to build the HEAD commit, even though it never gets displayed, which is kind of pointless. Also, the list is more user-friendly if it's shorter.
We only really care about remote branches and tags, and HEAD is always a clone of some other branch.