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.