os: Move Genode::Config into 'config' library

Originally, the convenience utility for accessing a process
configuration came in the form of a header file. But this causes
aliasing problems if multiple compilation units access the config while
the configuration gets dynamically updated. Moving the implementation of
the accessor to the singleton object into a library solves those
problems.
os: New Signal_rpc_dispatcher utility

The so-called Signal_rpc_dispatcher delegates the handling of signals to
the context of an RPC entrypoint.
os: Skeleton for server implementations
nitpicker: Add const qualifiers
nitpicker: Use signals for main loop
nitpicker: Remove unmaintained TODO file
nitpicker: Remove local string.h
nitpicker: Remove local list.h
nitpicker: New signal handling, bg color config

This patch overhauls the signal handling of nitpicker to clear the way
towards dynamic reconfiguration. Furthermore, it moves the
implementation of the global-keys handling and input utilities to
separate files.
nitpicker: Simplify internal file structure
nitpicker: Use server skeleton library
os: Split Session_label from Session_policy

By splitting Session_policy into two classes, we make it more flexible.
Originally, the constructor accepted solely an args string, which made it
unusable for situations where we already have extracted the session
label (e.g., stored in the session meta data of a server). Now, the
extraction of the label from the args string is performed by the new
Session_label class instead, which, in turn, can be passed to the
constructor of Session_policy.

This change causes a minor API change. The following code

  Session_policy policy(session_args);

Must be turned into

  Session_label  label(session_args);
  Session_policy policy(label);
nitpicker: Dynamic config of session policies
launchpad: Update config syntax, remove defaults

This patch updates the launchpad config to use XML attributes and
removes the built-in default configuration (which is only meaningful
for demo.run anyway).
base-linux: fix ELF dataspace execution

With this patch, if an ELF dataspace to be executed does not have a path
in the host file system, the dataspace content gets copied into a
temporary file whose path can be given to 'execve()'.

Fixes #879.
Noux: increase entrypoint stack size

Needed to run Noux built with -O0

Fixes #880.
Noux: register inherited file descriptors

With this patch, a Noux process registers all inherited open file
descriptors in its local libc file descriptor registry at program start.

Fixes #882.
libport: Fix download location of Mesa

Fixes #839
Put entry point at start of text segment / binary

Fixes #881.
Fix usb_storage.run for non-PC platforms

On non-PC platforms, the variable 'build' remains undefined, which lets
the 'build $build' step fail. Use the traditional 'build_components'
variable instead. As a further plus, this avoids multiple passes of the
build system.