Don't use git protocol v2 for ls-remote
Created by: nicksnyder
https://github.com/sourcegraph/sourcegraph/pull/757 added support for Git protocol v2.
https://github.com/sourcegraph/sourcegraph/pull/4350 removed support for Git protocol v2 because it impacted the performance of ls-remote.
https://github.com/sourcegraph/sourcegraph/pull/5155 added back support for Git protocol v2 without knowledge that it had been removed for that reason.
Instead of reverting https://github.com/sourcegraph/sourcegraph/pull/5155, this PR adds Git protocol v2 support for all git commands except ls-remote and it enforces this behavior with tests.