feat: add GetRawFileReader API to allow for reduced memory use
Files committed to the repo can be large occasionally. When that happens, even if we just want to download the file to disk, the current APIs read the file into memory.
Let's expose another method that returns a reader (the body from the http request) so the caller can write it directly to disk.
See the issue here #2293.