* ProgramPaths now searches for files on a per-folder basis using a Queue instead of calling EnumerateFiles. This allows us to escape permission errors. Issue #1779 is fixed because of this too.