LibsolvSolver: Fix the lazy re-/initialization

* _Init() was a bit too enthusiastic, throwing really everything away.
  So, after calling it at the beginning of _AddRepositories() there
  wouldn't be any repositories anymore.
* Rename _Init() to _InitPool() to make its purpose clearer.
* Pull a _CleanupPool() out of _Cleanup() that only deletes the pool
  and anything depending on it.
* RepositoryInfo::HasChanged(): Always consider changed when there's no
  libsolv repo yet.
BSolver/LibsolvSolver: Add FindPackages()

Given a search string it finds all matching packages.
pkgman RepositoryBuilder: Add BRepositoryConfig constructor
pkgman: Add "search" command