NOVA: Use solely unsigned types for selectors
NOVA: add rights mask and enums for kernel errors
Propagate status code of Thread state and start
NOVA: extend cap session for base-nova
NOVA: extend cpu_session for base-nova
NOVA: use cap_session to allocate portals
NOVA: Adjust native_capability type

It now can hold a right bit used during IPC to demote rights of the to be
transfered capability.

The local_name field in the native_capability type is not needed anymore
in NOVA. Simplify the class, remove it from constructors and adapt all
invocations in base-nova.

Unfortunately local_name in struct Raw is still used in generic base code
(process.cc, reload_parent_cap.cc), however has no effect in base-nova.
NOVA: delegate EC cap solely with recall right

Vancouver recalls the vCPU in the vCPU dispatcher code. Enable the right bit
in the mapped native cap so that Vancouver actually is able to perform this
operation.
NOVA: force to map cap in pd_session::assing_pd
NOVA: Suppress warnings in rpc_entrypoint
NOVA: allocate stack size depending on word size
NOVA: create sm solely in core

Any kernel objects are now created solely by core - namely pt, ec, sm and sc.
NOVA: remove pd selector from non Core code

Pd selector isn't used beside core anymore - remove all occurrences inside base
code.
NOVA: Use everywhere same value for a invalid cap
NOVA: Throughly cleanup caps in case of errors
NOVA: let thread die if SM cap is invalid

Patch prevents following bugs:

* In sleep_forever the thread return from semaphore down if cap is revoked
  during destruction of a thread. This causes an endless loop consuming time
  not available for other threads.
* In lock_helper and cap_sel_alloc the thread return from the lock() method
  even if the semaphore down call failed because of an revoked semaphore.

  This lead to the situation that a thread subject to de-construction returns
  from the lock method, but not holding the lock, entering the critical section
  and modifying state inside the critical section. Another thread in parallel
  already in the critical section or entering the critical section also
  modifies the state. This lead to curious bugs ...
* thread_nova, thread_start, irq_session
  Detect early bugs if the SM is gone unexpectedly where it should never
  happen.
NOVA: add support to cpu_session to create vCPUs

Extend base-nova specific cpu_session to create also vCPUs.
NOVA: enable specifying a receive index for IPC

Extend Native_capability type to hold a specific selector index where the to
be received cap during a IPC should be mapped to. This feature is required to
place created caps by the cap_session at specific indexes. This feature is
used by Vancouver to setup the virtualization exception portals (created by
the cap_session) at the intended indexes.
Adjust cap_integrity test to NOVA changes
NOVA: Use Genode interfaces to bootstrap Vancouver

Since no kernel objects can be created anymore outside Genode::core,
the Vancouver port must be adjusted to use solely the Genode interfaces.

The Vcpu_dispatcher creates all portals via the cpu_session interface and
uses the feature to setup a specific receive window during a IPC (the
cap_session::alloc IPC) to place to be received/to be mapped capability
(virtualization exception portal) at the designed indexes.

The actual vCPU thread extends from a normal Genode::Thread and extends it
by specific vCPU requirements, which are a larger exception base window and
the need by Vancouver to place the SM and EC cap at indexes next to each other.

Fixes #316