base-linux: let core catch SIGCHLD signals
base-linux: reflect SIGCHLD as Cpu_session signal

With this patch, core responds to SIGCHLD signals of terminating Genode
processes by reflecting these events as exceptions to the CPU session
interface. This way, Genode processes become able to respond to
terminating Genode child processes.
base-linux: fix delegation of invalid capabilities

This patch uses a local_name of -1 to encode an invalid capability.
core: Introduce default CPU exception handler

The CPU session interfaces comes with the ability to install an
exception handler per thread. This patch enhances the feature with the
provision of a default signal handler that is used if no thread-specific
handler is installed. The default signal handler can be set by
specifying an invalid thread capability and a valid signal context
capability.

Furthermore, this patch relaxes the requirement of the order of the
calls of 'exception_handler' and 'set_pager'. Originally, the exception
handler could be installed not before setting a pager. Now, we remember
the installed exception handler in the 'Cpu_thread' and propagate to to
the platform thread at a later time.
Test case for failure detection detection
Loader: reflect faults to client

With this patch, the loader installs an optional client-provided fault
handler as default CPU exception handler and RM fault handler for all
CPU and RM sessions of the loaded subsystem. This way, loader clients
become able to respond to failures occuring within the subsystem.

The new feature is provided via the added 'Loader::fault_handler' RPC
function.

The 'run/failsafe' test covers two cases related to the loader, which
are faults produced by the immediate child of the loader and faults
produced by indirect children.
Add failsafe test to autopilot
Change order of thread-context members

Because 'stack' and 'stack_base' are related to each other, it makes
sense to locate both members close to each other.
dde_ipxe: Properly wrap iPXE interfaces to C++

As iPXE header files are not C++ compatible, the implementation missed
proper include directives. For example, alloc_memblock() had a wrong
signature, which was not detected. Now, C wrapper functions are
implemented using a local API to the C++ backend.

Related to #593.
base-hw: build vea9x4 libs only with vea9x4 spec

Fix #561
base-hw: fix clean- and alignment-bugs in env

Ref #420
base-hw: env bug that caused missing boot modules

Fixes #420
base: rename generic Board drivers Board_base

To enable a repo to name its specific board driver 'Board'.

Fix #569
base-hw: reorganize core-driver headers

Ref #570
base-hw: ease core build

Merge core only libs into the target make-files.

Use base-hw specific Board drivers that inherit
from generic Board_base.

Use Page_flags::access_t instead of additional
page_flags_t.

Fix #570
base-hw & imx53: enable nested init

Fix #575
os & base-hw: freescale EPIT timer driver

Fix #576
base-hw & imx31: use generic EPIT timer in core

Ref #577
base-hw & imx31: userland timer driver

Fix #577
base-hw & cortex_a9: use caches in pagetable walks

Fix #472