Enhancement: File Download Functionality

- Adds file download functionality by streaming the file from Deuce
  - We can later add the option to only download the required blocks; but this provides good testing as it is

Note: Logs the throughput of the download; not very granular (probably could convert to ms instead of second granularity and then extrapolate second granularity when we don't have a full second of data)
quirk: should the message be different, for failing to download a file, and failing when response code is not '200 OK' ?