VDFParser: add support for non dictionary values

probably ought to clean this parser code up at some point
PrefPane: break out app directory scan code to its own function
Steam Apps: parse config.vdf instead of registry.vdf

this gives us the install location for the application which we can use to both determine that an app is installed, but also to scan the location for additional apps as well as allowing us to obtain the bundle identifier.

this allows us to better match running processes that dont match the name of the app as it appears in Steam.