https://github.com/element-hq/synapse/pull/17172 changed the storage provider fetch API, which caused breakage in 3rd party storage providers.
This PR fixes that by removing the change to the api, and adding a multipart file consumer which consumes a file stream and converts it to mulipart before streaming that out to the requester.
based on https://github.com/element-hq/synapse/compare/erikj/fixup_multipart
https://github.com/element-hq/synapse/pull/17172 changed the storage provider fetch API, which caused breakage in 3rd party storage providers. This PR fixes that by removing the change to the api, and adding a multipart file consumer which consumes a file stream and converts it to mulipart before streaming that out to the requester.