Intermediate file now can set mtime

+ tests for this + tests for that  chmod, mtime, and make_permanent
work with non-UTF targets
typo tab removed from string
rewrite GlacierRequest::retrieval_download_job using IntermediateFile
without breaking tests
Move temp file code from GlacierRequest to ChildWorker without breaking much of tests
IntermediateFile - test that it works with mtime=undef
We already adjust mtime in childworker
improvements for test of childworker
Refactor SegmentDownloadJob to use IntermediateFile without breaking much of the tests