BRepositoryBuilder: Add constructor for pre-init'ed repository
BPackageManager: Abstract installed repository initialization

* Rename TransactionHandler -> InstallationInterface and
  DaemonClientTransactionHandler -> ClientInstallationInterface.
* Add InstallationInterface::InitInstalledRepository(). Use in
  _AddInstalledRepository() to get the repository packages instead of
  using the package roster. The ClientInstallationInterface
  implementation does it that way.
<package/Request.h>: Don't leak JobQueue into public namespace
Don't use BPackageKit::BPrivate; avoids clashes
Explicitly denote BPrivate to avoid clashes
package daemon: Delay handling node monitor events to group them
More explicit denoting the BPrivate namespace
Add BSolverPackageSpecifierList::AppendSpecifiers()
BDaemonClient: add comment
BActivationTransaction: Make BArchivable
BPackageManager: Make _InstallationRepository() protected
BPackageManager: Add alternate Install()/Uninstall()/Update()
BPackageManager: Add VerifyInstallation()
BPackageManager: Add ResultComputed() callback
BPackageManager: Add InstalledRepository::EnablePackage()
BPackageManager: Support pre-added packages

... as needed for the package daemon. _PreparePackageChanges() doesn't
try to clone them in this case.
BPackageManager::_CommitPackageChanges(): Fix error handling

The error returned by CommitTransaction() is just indicates whether
transactionResult has been initialized.
package daemon: Let Root know whether it is the system root
package daemon: Implement dependency resolution support

... for package changes performed manually by the user (i.e.
adding/removing files in a packages directory). Currently only done for
the system root. Alternative roots should still work as before, so this
shouldn't affect haikuporter (not tested yet).

Needs some more work (e.g. the GUI part).