Rework configure system to use multiple repo types.

Now repo code should be placed at
libpkg/repo/<repo_type>

In configure.ac there is a macro called `repos', so to add a new repo
type, it is required to append it to that macro, e.g.

m4_define([repos], [binary]) -> m4_define([repos], [binary, repo_type])
Use `lib` prefix for repo libs.
Quote vars properly.
Add script to generate repo ops.
Improve pkg_repos.h structure.
Add basic support of flexible repo types.
Move binary update.
Start moving init functions.
Fix access check for a repo.
Fix repo initialization.
Implement schemas upgrade/downgrade.
No more %Q
More cleanups.
Skip disabled repos.
No more repo ident/name.
Move specific function to binary repo.
Remove repo specific stuff.
Split iterator specific functions.
Rework iterators structure.
Add skeleton for repo query.