Ref T8259. Currently, arc upload uses new logic but arc diff uses older logic internally. This prevents arc diff from uploading files larger than 4MB to newer servers.
Split the upload logic apart so the two upload pathways can share it. Callers now build a list of FileDataRefs and hand them to an Uploader for upload.