ut: refactoring fixture methods.

creating the main sack for the test and loading repos to it is separated
now.
ut: rename the test setup functions to start with "fixture_"
repos loading: remove hy_sack_*_{filelists|presto}.

these were public API functions replaced internally now.
repo loading: simplify the (now private) functions doing repo operations.

needed a new member in HyRepo pointing to the libsolv Repo struct.
Allow creation of @System.solv again.

Got disabled during the repo loading overhaul.

Also rename hy_sack_load_rpm_repo to hy_sack_load_system_repo. That, in wild
theory, would make more sense on a non-rpm system. The new method takes a flag
to force the cache creation.
rename: hy_sack_add_cmdline_rpm -> hy_sack_add_cmdline_package.

related to bb4659.
repo loading: remove now obsoleted repo state transitions.

Finally got to the bottom of this, removes the major dreadfullness in the old
repo loading implementation.
error handling: Give names to errors.
Goal: hy_goal_*_query() errors out on an invalid Query.

Alternative is trying to enumerate it via hy_query_run() and insert all
resulting package ids into the Goal. Probably a too much of an unexpected twist
of the semantics ATM, might enable this with a flag later.
Goal: accept name+arch keys in an install query.
py: define Hawkey's exceptions and use them in Goal bindings.

Also, query2job() now returns 0 (i.e. "OK") even if the query was
empty. (The Goal will be a NOOP anyway).
New version: 0.2.8-1
api change: cosmetic: rename hy_goal_go to hy_goal_run.

so it's consistent with hy_query_run.
sack: make repo parameter in hy_sack_load_system_repo() optional.

the implementation creates an empty repo as needed.
py: do not accept any parameters in repo creation.

People think they are used and it confuses them.
debugging support: dump_jobqueue().
fix: broken loop caused inconsistent goal results (RhBug: 845983)

The bug demostrated itself with 2 or more install queries.

ut: reproducer
goal: simplify filter_name2job().

We can put a nonexistent name in the job queue, it will be a noop.
cosmetic: fix bogus comments in test_goal_install_query_two()
readme: list build require packages.