Deprecate reading external gitconfig
When spawning Git commands or when using libgit2, we currently implicitly use both the system- (`/etc/gitconfig`) and global-level (`$HOME/.gitconfig`) Git configuration. This has multiple problems:
- Configuration of Git is outside of Gitaly's hands, removing some of the control it wants to have.
- Config entries added to either of those files will only apply in case Gitaly itself doesn't override them itself. But in fact, most of the configuration entries that are in our default `gitconfig` are overridden by Gitaly with good reason as they are mandatory to operate correctly.
Gitaly has introduced a new mechanism a while ago which allows administrators to inject Git configuration via Gitaly's `config.toml` by adding `[[git.config]]` sections. The benefit of these is that Gitaly applies the configuration _after_ its default configuration, which puts administrators into a position again to modify the way Gitaly behaves.
Given that we now have multiple configuration mechanisms this may easily result in confusion. This is only made worse by the fact that many of the keys one could set in the `gitconfig` are overridden by Gitaly anyway and thus not effective. We thus want to deprecate reading all gitconfig files except for the repository's local gitconfig. This can be done by setting `GIT_CONFIG_SYSTEM=/dev/null` an `GIT_CONFIG_GLOBAL=/dev/null` when spawning Git processes.
epic