Geo: Fix timeouts when pushing via SSH to secondary
## Problem
https://gitlab.com/groups/gitlab-org/-/epics/8819#note_1110632459:
>>>
A customer recently was testing the push-to-secondary proxy functionality with Geo pushing 200-500 MB repositories. They ran into several issues:
1. The default of Unicorn timeout 60 was too low to handle this. They bumped the timeout to 1000 seconds, but that's not ideal. If the API were handled in Workhorse, I think we could avoid this issue.
1. The payloads were read in entirely in RAM, causing huge memory spikes in Unicorn. (https://gitlab.com/gitlab-org/gitlab-ee/issues/12817). If we go down the Workhorse route, we should consider buffering the pack file and streaming it to the primary.
>>>
https://gitlab.com/groups/gitlab-org/-/epics/8819#note_1110632494:
>>>
the most recent ticket is in [ZD](https://gitlab.zendesk.com/agent/tickets/197869) (internal only) when trying to push the main branch on a repository with
> 260k commits, 1.9k branches, 3.3k tags, 2.4GB
`"/api/v4/geo/proxy_git_ssh/receive_pack"` was the endpoint timing out with the default Puma timeout - they ended up pushing directly to the Geo primary (which worked)
>>>
## Background
Currently the code for proxying SSH pushes to secondaries lives inside Rails, which is not ideal.
https://gitlab.com/gitlab-org/gitlab/-/issues/6533
Current workflow for pushing on a secondary is described in detail in https://gitlab.com/gitlab-org/gitlab/-/issues/383498.
epic