vcs: try use URL cached on gitserver for EnsureRevision
Created by: keegancsmith
Our gitserver caches the remote URL. This is kept upto date by repo-updater. We don't always set Repo.URL or remoteURLFunc on a command. Previously if it wasn't set we wouldn't try the EnsureRevision code path. This is a bit of a long standing regression since we switched to the command retrier.
The most important code path for EnsureRevision is via browser extensions. However, that code path didn't set the remote URL so we ended up never ensuring revision when it mattered. We should just rely on EnsureRevision like we did before.
Risk: Our usage patterns have change a lot since this regression. This may introduce too much load on remote code hosts. I am not too worried about this since there are codepaths that do work with EnsureRevision. Additionally this code path will get stress tested on Sourcegraph.com before reaching a customer's on-prem deployment.
Fixes https://github.com/sourcegraph/sourcegraph/issues/4401