Implement a streaming variant of the UserCommitFiles RPC
Problem to solve
Files that are uploaded into a Git repository via the UserCommitFiles
Gitaly RPC are fully loaded into memory in both Rails and Gitaly-Ruby: gitlab#200054
This wastes memory and can also lead to timeouts on large files.
Proposal
We should implement a streaming variant of this RPC and use it for all Git uploads.
Technical details TBD, also see @stanhu's initial investigation at &4550 (comment 425300913).