Before this commit, archived files using compression would use a
temporary file in the current-working-directory (usually the same
directory specified by "-C <dir>") to store compressed files. This is
required by design as the file-size of the compressed file/chunk is
required before storing the data. In other words, the size is stored
before the data without seeking so that output can be streamable (in
case of "-f -" or "-f /dev/stdout" when compressing).
This commit changes the behavior of creating temporary files for
compression by placing them in the same directory as the output file
(specified by "-f <output_file>"), or using "tmpfile()" if that should
fail. Note that the `--temp-files-dir <dir>` option exists, and
"tmpfile()" is used as a fallback in case writing to
`--temp-files-dir <dir>` fails.