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>
Clean up fetched{Cached,Uncached}File methods

Move some behavior into the fileCache

Signed-off-by: Max Brunsfeld <mbrunsfeld@pivotallabs.com>
Remove duplication in cached downloader

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>