If we set COMPOSER_CACHE_DIR=/dev/null, and the garbage collector
is triggered, we end up with the following error :
The "/dev/null/" directory does not exist.
This is because the Cache::gc() function does not check for Cache::enabled
and instanciates a Finder unconditionnaly.
Fix this by adding a check on Cache::enabled.
The configuration option 'cache-ttl' was used instead of 'cache-files-ttl' to determine
whether or not a cache gc should be performed.
* changed 'cache-ttl' to 'cache-files-ttl' to determine if a gc should be performed
* refactored FileDownloader to allow for easier testing
* added test to ensure that the gc is called with the proper config option