pkgman: add support for [un]installing/updating in system
LibsolvSolver: change handling of fInstalledRepository

We update/set it in _AddRepositories() instead of in AddRepository(). In
code needing it earlier _InstalledRepository() can be used.

This change allows calling to SetInstalled() on a repository that has
already been added to the solver.
pkgman uninstall: Verify more specific locations

... after having determined the packages to remove from the selected
installation location. This uninstalls packages from the more specific
locations when their dependencies have been removed.
BPackageInfo: Add fileName property

The property is archived and unarchived, but otherwise not yet stored.
If not set, FileName() returns CanonicalFileName(). Can be used for
packages like haiku.hpkg etc. that don't have a properly qualified file
name (yet).
package daemon: Package: Set the package info file name
pkgman: Use BPackageInfo::FileName() instead of Canonical*()