Fixed cache generation on CygwinDistribution

Looks like this has always been broken.
Added support for SHGetFolderPath on Windows