package_repo: Removes dependency to package

* Move StandardErrorOutput to libpackage and into proper namespace to
  avoid "package_repo" having to reuse the "package" source file.
* package_repo: Fix incorrect includes of "package.h".
Add BNoErrorOutput to package kit
Add convenience methods BPackageInfo::ReadFromPackageFile()
Add some missing build headers
Simplify/fix the ExtractArchive rule and friends

* The call to the dummy actions isn't needed
* The calls to Extract{Zip,Tar,HPKG}Archive1 couldn't work like that.
  The directory has to be the main target, since ExtractArchive is
  potentially invoked multiple times with different extracted file
  targets and the Extract*Archive1 is only invoked the first time.
  Tested only with the HPKG actions, but they others should work as
  well.
Fix the libpackage_build build

* The recently introduced {No,Standard}ErrorOutput.cpp were still
  missing.
* Add hack to allow building more correctly on Haiku. We were using
  the installed package kit headers, not the ones from the working
  directory.
<build>package: Fix build

* StandardErrorOutput.cpp no longer exists (respectively has been moved
  to libpackage).
* Add hack to allow building more correctly on Haiku. We were using
  the installed package kit headers, not the ones from the working
  directory.
Add libsolv build feature
Add public package version parsing API

* BPackageVersion: Add respective constructor and SetTo().
* BPackageInfo: Add static ParseVersionString() utility method. It's
  only there because the parser lives in the BPackageInfo
  implementation.
Fix BPackageResolvableExpression::ToString()

The operator was inserted as a number.
Flesh out the package kit solver API quite a bit more

* Reorganize things a bit:
  - BSolver is now an abstract base class.
  - A libsolv based implementation, LibsolvSolver, lives in a new
    add-on, which is loaded lazily.
  - Get rid of libpackage_solver. Save for LibsolvSolver everything
    is moved to libpackage.
  - This is a nicer solution for the cyclic dependency caused by
    libsolv (libsolvext to be precise) using the package kit for
    reading repositories and package files.
* Add a solver result data structure and and an accessor the solver.
* Add problem reporting support to the solver. There aren't data
  structures for the problem solutions yet and support for selecting
  solutions and re-solving is missing as well.
pkgman: Add command resolve-build-dependencies

This is a service command for haikuporter. It resolves the dependencies
for a package to be built and lists them, so that haikuporter can
prepare the build environment accordingly.

The implementation isn't quite finished yet. Currently the packages are
printed only with name and version, while it would probably be more
helpful to print the path of the package file. Also, the package itself
(respectively a dummy package) is printed as well.