servegit: use git protocol v2
Created by: keegancsmith
This commit copy pastes the upload pack service we use in gitserver from the Sourcegraph repo at commit d0d94c90. It is mostly copy paste, but we remove prometheus metrics and "--strict" since we allow non-bare repos.
Previously we supported only git protocol v0. This is regarded as the "dumb" protocol. We ran into issues of it being slow to update (requires running git update-server-info). It also requires write access to the files.
Git protocol v2 allows more efficient fetching and extra cool features we may start to rely on.
Part of https://github.com/sourcegraph/sourcegraph/issues/12363 Part of https://github.com/sourcegraph/sourcegraph/issues/11707