nova: register thread sm for signalling at core

The 'pause' call on base-nova assumes that a thread can solely block in its
associated semaphore. Main reason is that so core can unblock a thread in order
that the recall exception gets delivered and the register state can be
obtained.

Unfortunately the signal session implementation creates own semaphores, which
violates this assumption. Instead of creating special semaphores in the signal
session and returning it back on request to the signal handler thread,
let the signal handler thread register its associated own semaphore to the
signal session.

So the original assumption holds and the signal handler thread can be
de-blocked by core when a 'pause' is issued.

Fixes partially gdb issue for base-nova.

Issue #478
nova: fix thread in page fault and getting paused

If a thread caused a page fault and later on get be paused, then it left
the recall handler immediately due to the pause call instead of staying
in this handler.

Add some (complicated) state machine to detect and handle the case. Still not
water prove but good enough for gdb.

Fixes #478
run: use gdb_monitor by autopilot

Issue #478