BSolverRepository: Add a change count

... so we can easily check whether the repository has changed since the
last time we used it.
LibsolvSolver: Make repeated use of object possible

* _Solve(): Clean up the old solver before creating a new one.
* _AddRepositories(): Don't do anything, if the repositories haven't
  changed.
pkgman: Move some classes into own file for reuse

Namely RepositoryBuilder and PackageInfoErrorListener.
BPackageVersion: Make version string constructor explicit
BPackageInfo: Add GetConfigString() and ToString()
package daemon: Properly qualify private package headers

... instead of adding the private package header directory to the
include paths.
package kit: get active packages list from daemon

* daemon: Implement private message protocol to retrieve the active
  packages.
* BPackageRoster::GetActivePackages(): Get the active packages list
  from the daemon.