Fix wget::fetch::cache_dir initialization

Since wget::fetch includes wget it can't use wget::cache_dir to
initialize wget::fetch::cache_dir parameter. So, we leave the parameter
undefined and add logic to check both wget::fetch::cache_dir and
wget::cache_dir to decide if wget::fetch should use a cache directory.