DownloadCache access files as binary

Previously, when the DownloadCache was used on a Windows machine, it
could not read and write files properly.  This was due to it using the
default system encoding which differed from the expected UTF-8.  This
change updates the DownloadCache to always read and write files as
binary in order to get around the encoding issue.