Add an error path for when the sources are not valid
Do not call hif_context_setup_sack() automatically

For programs like PackageKit that are managing thier own sack and goal, do not
create the sack during setup. This also prevents us downloading files in
hif_context_setup() which is supposed to be quick and done at startup.

This fixes the multi-minute delay when packagekitd starts with an empty cache.
Other users of hif_context_setup() can now call the hif_context_setup_sack()
method when they are able to deal with the delay.