trivial: Split out some common shared code to be used in the future
Add a plugin to read local installed AppData

If a distro like SUSE doesn't include the AppData in the AppStream metadata then
we can at least show the long descriptions for installed packages.

This also allows us to develop applications and test the AppData descriptions
locally which is a good thing for developers.