NOVA: kernel patch - remove utcb if ec creation fails
NOVA: create ec and pt solely in core

Extend base-nova platform to restrict the creation of ec and pt kernel objects
solely inside core.

Cap_session had to been extend to transfer 2 additional items. The entry point
address for the portal and the (MTD) flags are required on NOVA to create a
communication capability inside the cap_session_component.
NOVA: support right bits in Genode capability type
NOVA: delegate EC thread cap with no usable rights
NOVA: force to map cap in pd_session::assing_pd
NOVA: Suppress warnings in rpc_entrypoint
NOVA: add support for null_type
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: Add native invalid cap method
NOVA: Throughly cleanup caps in case of errors
NOVA: simplify native_capability type handling

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: 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: use anywhere the same value as invalid_cap
NOVA: remove obsolete code from pager
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.
NOVA: return EC cap with recall right set

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: 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.

Vcpu_dispatcher is now a ordinary rpc_entrypoint, however the Thread_base
inside Rpc_entrypoint became public.
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 ordinary Genode::Thread and extends it
by specific vCPU requirements, which are a bigger exception base window and
the need by Vancouver to place the SM and EC cap at indexes next to each other.