gitserver: Implement /archive endpoint
Created by: tsenart
This PR adds an /archive endpoint to git-server which is meant to be called with a GET request with all of the required parameters in the URL query string.
This allows for easier integration with non Go based clients (i.e. a Rust searcher) as well as redirecting client requests for git tarballs to git-server, instead of proxying them through the frontend.
Fixes #4949