fix: Aws failing to download objects bigger than 5MB
Also throw a SDExceptionStorageError if the S3Client can't be created. The reason to stop using the TransferManager is that its an api designed to be used for files. Using it with stringstrams is error prone as seeking to a position after eof will cause the stream to be set in an error state and the TransferManager doesn't check error states on the stream. Using the S3Client apis is much more straight forward, and the same functionality is kept.