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.

Issue #814
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 ...

Issue #814
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
nova: unify code for normal and server threads

Issue #814
run: Rpc_entrypoint test running on multiple CPUs

Add run script to autopilot list

Issue #814
run: make bomb test ready for auto tests

Issue #814
nova: update to kernel revision r3

r3 contains the recent Nova upstream kernel version plus the Genode specific
extensions and changes as known from r2.

Additionally, the r3 branch

* contains the assign_pci patch now directly,
* adds support for cross CPU IPC,
* fixes some issues with freeing up kernel memory part of r2 and
* update the documentation a bit.

Fixes #814