Add the concept of metadata-only software sources

We might want to return search results for repos that are disabled, for instance
the google chrome repo could be installed by default, but disabled pending
user consent.

We still want to show the application if the user explictly searches for
'google chrome' (which requires the ahead-of-time metadata download) but with
a step to enable the repo before the action can proceed.

By changing the boolean 'enabled' parameter to a bitfield we can preserve the
old ABI and also add the idea of a metadata-only enabled state.