trivial: Fix showing the updates panel

We were getting in a muddle with bitfields, so simplify things a bit.
trivial: Remove the requirement that GsApps need sources to be valid
Allow an application to have multiple sources

This allows us to have an AppStream application that has more than one
<pkgname/> tags. This allows us to define meta-applications that consist of more
than one package, for instance a 'font' where each face is in a different package.

This needs a bit more work before things like install and remove work for
applications with multiple sources, but is certainly a small step in the right
direction.
Only consider applications as installed if all the sources are also installed
Allow applications to have multiple source-ids

For PackageKit this is a list of the PackageIds, but for other plugins it can
just be the desktop filename for example.

This now allows PackageKit to install and remove applications that have multiple
sources.
trivial: We depend on Glib from master, the last PackageKit tarball is fine
When getting the size for the package, get the size of *all* of the sources
trivial: Do not modify bitfields before the first coffee of the day
Add a --refine-flags command line argument to gnome-software-cmd

This allows us to replicate what the UI is doing, for instance:

./gnome-software-cmd search 0ad --show-results --refine-flags=size