Better XML parsing in NvHTTP

Cleans up some unnecessary code in `NvHTTP` and DRY's it up a bit.
Adds in a `getAppList` function which returns a list of `NvApp`, a class
used to represent applications. This is then used by `getSteamAppId` so
it actually opens up Steam instead of whatever the first app is.