Escape cached files names for windows

Previously, when files were cached by the DownloadCache, the file
names were escaped to ensure that there were no forward slashes in
them.  On Windows, this escaping is not sufficient, as colons must be
escaped as well.  This change updates the escaping to cover this
additional case.