### Changelog:
- Extracted, generalized and improved code from directory factory - better detection overall.
- | Added info getter for is64bit.
- | Added info getter for finding uninstallers in install location.
- | Added info getter for finding application executables, speeds up certificate scanning.
- | Added info getter for extracting info from application executables.
- Added path cleanup to DisplayIcon.
- Added wait cursor after exiting startup manager.
- Improved and optimized logic for getting icons.
- Improved application searching speed slightly.
- Changed QuietUninstallStringCopier Priority to RunFirst because it's the fastest and has best results.
- Moved creation of UninstallerLocation to a separate info adder and fixed it sometimes failing.
- Code refactoring around info getters and factories.
- Fixed IO crashes in GetDirectoriesToScan with invalid directories.
- Fixed Path.IsPathRooted crash with some UninstallerFullFilenames.
- Fixed crash during junk search when junk names have invalid path characters.
- Fixed some disposed exceptions.
- Fixed bugs in path cleanup of InstallLocation, InstallSource and ModifyPath. Some valid paths were removed or modified.
- Fixed certificate highlighting sometimes not updating.
- Fixed info adders not updating some properties.
- Fixed some info URLs not being cleaned up properly.
- Fixed Msi INSTALLPROPERTY_LOCALPACKAGE not being assigned to UninstallerFullFilename.
