Move cached_downloader to unix specific file
Add windows implementation
Fix redownload files bigger than the cachesize
Avoid removing files that are still in use, regardless of OS

This is required for windows, and also works on Unix.
[#77329972]

Signed-off-by: Max Brunsfeld <mbrunsfeld@pivotallabs.com>
Remove duplication around removing cache entries

[#77329972]

Signed-off-by: Simon Leung <leungs@us.ibm.com>
Move caching logic into a separate object

Signed-off-by: Max Brunsfeld <mbrunsfeld@pivotallabs.com>
Move file wrapper type into its own file

Signed-off-by: Max Brunsfeld <mbrunsfeld@pivotallabs.com>
Remove extraneous file seek

No need to seek to beginning since we reopen the file now

Signed-off-by: Max Brunsfeld <mbrunsfeld@pivotallabs.com>
Remove duplication between cached and uncached downloads

Move some behavior into the fileCache

Signed-off-by: Max Brunsfeld <mbrunsfeld@pivotallabs.com>
Generate unique names in cache, regardless of source file name

Signed-off-by: Max Brunsfeld <mbrunsfeld@pivotallabs.com>