Debugger: Finish handling of missing debug information.

Add a listener interface for LoadImageDebugInfoJob that allows it to request
user assistance based on its current state. Adjust callers to pass in said
listener accordingly.

Implement the aforementioned listener interface in TeamDebugger, and use the
loading state handler roster to find the appropriate handler / handle the request.

This implements most of what's needed for #10138, the main piece still missing
is for the dwarf handler to detect whether the image in question comes from a package,
and if so, to offer to install the corresponding debug information package rather than
locating the file manually, assuming such a package exists.
BEntryOperationEngineBase::Entry: Add node_ref+path c'tor
BEntryOperationEngineBase::Entry: Add debug methods

Add GetPathOrName() and PathOrName() methods which try to get some kind
of usable path or at least a file name for the entry. Useful mainly for
debugging and error reporting cases.
package daemon: Rework error and issue propagation to client

* BDaemonClient: Move inner class BCommitTransactionResult to top level
  and make it public.
* BCommitTransactionResult:
  - Add a whole bunch of specific error code enum values. Such an error
    code is now the primary error, as opposed to before where we would
    mix status_t and enum value errors. There's a systemError property
    of type status_t which may provide additional information, though
    (depending on the primary error type).
  - Remove the errorMessage property. Due to mapping all errors to the
    specific error codes this is no longer necessary. Mixing such a
    message with another error description is also not very helpful when
    it comes to localization (still not supported, though).
  - Add several properties (paths, strings, error codes) that serve as
    arguments to the primary error and are used by FullErrorMessage().
  - Add issues property, a list of instances of new class
    BTransactionIssue. Those describe non-critical issues (e.g. failed
    update of a settings file) that occurred in the process of
    committing the transaction. Those issues should be presented to the
    user by the package management program.
* Exception: Adjust to transport the BCommitTransactionResult
  properties.
* CommitTransactionHandler, FsTransactions, Root, Volume: Adjust to
  BCommitTransactionResult/Exception changes.
* CommitTransactionHandler: Now requires a BCommitTransactionResult to
  which it adds the issues it encounters. The reply BMessage is no
  longer needed, though.
* Volume: Refactor common code from the three methods that use
  CommitTransactionHandler into new method _CommitTransaction.
BPackageManager: Make BCommitTransactionResult available

* BFatalErrorException: Add commitTransactionResult property and
  respective constructor. In case committing the transaction failed,
  BPackageManager throws a BFatalErrorException with the result.
* BFatalErrorException::UserInteractionHandler: Pass
  BCommitTransactionResult to ProgressTransactionCommitted().
pkgman: Print issues from committing the transaction
BPackageManager: Support installing/updating local package files

* The Install() and Update() versions that take a const char* array
  now check whether a string looks like a path to a local package file.
  If so, they use that file instead of interpreting the string as a
  search string.
* Extend the repository hierarchy. There's now a LocalRepository base
  class from which InstalledRepository and the new MiscLocalRepository
  derive. The latter is instantiated once and collects all package files
  specified by path.
BTransactionIssue::ToString(): Fix some strings
pkgman: Update some user messages
Debugger: Fix x86_gcc2 build.
Add RemoteDesktop to the image.

There are some rough edges, but this can be useful and deserves more
exposure.
SetTime_t: Use the sign-fixed modulo we computed

* In C++03 and earlier, the sign of the modulo result is implementation
defined (this was fixed in C++11).
* Setting a negative time is not what we want here, so make sure we use
the proper value.
Add a first test for BDateTime.

* We need to write more of those.
don't notify when a finished download is removed.

* Actually stop the download when the target file is deleted
* Check the download state before sending a notification or changing the
progress bar color.

Fixes #10907.
Add menu entry to save pages as MHTML.

Fixes #9570.
Terminal: Handle SIGCHLD in a dedicated thread

Block SIGCHLD in all threads and spawn a dedicated thread that handles
the signal in a loop (via sigwait()). This avoids the issue that the
SIGCHLD could be handled in any of our threads and thus possibly
interrupt a syscall.

Fixes #10941.
Style fix.
More correct label for the save page menu item

Use "Save page as…" since the item will open a save panel.
BMP sniffing: check more bytes

* Check that the two high-order byte of the DIB header size are 0 (the
largest known size according to wikipedia is 124 bytes).
* This avoids identifying any text file that starts with "BM" as a BMP
file.

Fixes #10912.
Add space between string and ellipsis.

C++11 safe and reads better.