foc: SVN revision r56

Genode side of the update.

Issue #819
l4linux: Update to L4Linux l4box 3.9.0-l4-svn37

This is the Genode side of the L4Linux update to r37. I also moved L4Linux
sources to GitHub.

Issue #819
noux: Keep track of how dataspaces are used

This patch eliminates the "no attachment at..." warnings, which
were caused by a use-after-free problem of dataspaces. When a
dataspace was destroyed, the users of the dataspace were not
informed and therefore could not revert possible attachments to
RM sessions. The fix introduces a callback mechanism that allows
dataspace users (i.e., RM regions) to register for the event that
a dataspace vanishes.

The following types of dataspaces are handled:
* RAM dataspaces
* ROM dataspaces
* The process binary
* The binary of the dynamic linker
* Args dataspace
* Sysio dataspace
* Env dataspace
* managed RM dataspaces

The handling of ROM dataspaces is still not complete. When forking,
the ROM dataspace of the parent process gets just reused without
creating proper meta data ('Dataspace_info') for the forked process.
Similar issues might arise from other special dataspaces (e.g.,
args, env, sysio).

This patch removes all "no attachment at..." warnings except for
one (an attachment at 0).

Issue #485
usb_drv: Fix USB storage for x86 on hardware

Also fix 'usb_storage.run' for x86

Fixes #822
Noux: add noux-pkg/sed
Noux: add noux-pkg/grep
ports: add grep and sed to noux_tool_chain

Fixes #821
nova: determine number of CPUs

Issue #813
foc: determine number of CPUs

Issue #814
Fixes #578
nova: support setting affinity via cpu session

issue #814
base: add affinity support to pager construction

Propagating the affinity information is needed to allow for assigning
a pager thread that is local to the CPU of the to-be-created thread.

issue #814
nova: create pager/server thread on specific cpus

issue #814
nova: show client name for unhandled page faults

This patch eases debugging.
nova: catch exception when leaving thread::entry()

Catch exceptions and try to make a printf. If this also fails, catch
it and die causing some noise output in core to detect the situation.
base: avoid deadlock if invalid object is called

This avoids a deadlock if during issuing a printf the low level IPC fails.
. Printf uses an address space local lock and if we are trying again
to make a printf we deadlock forever ...
run: extend affinity test

* read out supported number of CPUs
* start per CPU a thread
* monitor by main thread liveness of remote CPU threads
* add a round variable
* terminate run script after a specific round or after 90s
* on qemu wait 5 rounds, on native runs 40

Add run script to autopilot list

Issue #814
base: store initial ax and di registers in crt0.s

The values are used by a follow up commit by nova to get the boot CPU number.

Issue #814
nova: create core threads on boot cpu

The boot CPU is not necessarily 0 as currently assumed for base-nova.
Replace all hard coded values by the actual boot cpu number.

Issue #814
base: add affinity to rpc_entrypoint constructor

Issue #814
run: Rpc_entrypoint test running on multiple CPUs

Add run script to autopilot list

Issue #814