Further simplify remote/local upload code
This is follow-up from !574 (merged). Now that we support either local upload or remote upload but not both, we can further simplify the upload code by removing if local
branches.
This MR introduces a behavior change: workhorse will start sending file.etag
for local files, with the etag set to the empty string.
Edited by Jacob Vosmaer