Add an error quark for AsStore

Using AsNodeError here isn't quite right...
Add as_store_load() to load system and user locations

Most of this code has been ported from gnome-software and is used to load system
and user app-info locations. It will also soon be used for loading
Ubuntu-specific app-install files and perhaps also Debian-style YAML files.
Use the full ID for the AsStore hash

We need this to avoid conflicts with components IDs of different types.
trivial: Always return the correct error domain from AsStore