Write file to stdout

Supports writing a single and multipart download to stdout in addition to a file.

It uses the `--stdout` flag to redirect current output to stderr, and outputs the file to stdout as well as the local file location given. It does not save large chunks to memory, and writes only the chunks that have been seen to memory in order, despite the ordering the worker thread finishes the requests in.

Enables writing to alternative targets easier with `uni_print` (stderr, StringIO) #820
Could not replicate #769 in print to stdout because of the file seek.