use 'const &' for Native_capability where possible

Native_capability are smart pointer and introduce some overhead when they
get copied for base-foc and base-nova. Reduce the performance penalty by
using const ref where possible.

Issue #905
Fixup for "use 'const &' for Native_capability where possible"

Issue #959
ports: common utilities for building VMMs on NOVA

To ease the creation of custom virtual machine monitors on top of
NOVA, this patch moves generic utilities from vancouver resp. seoul to the
public include location 'ports/include/vmm'. As a nice side effect,
this change simplifies 'vancouver/main.cc'.

Issue #949
hw: clarify names of messaging kernel-calls

ref #958
hw: get rid of struct Msg and Msg::Type

Struct Msg was introduced due to the handling of pagefaults
and interrupts via synchronous IPC. Its only purpose was to provide
the message type in front of the typed message. Now pagefaults and
interrupts are handled via signals and struct Msg is not necessary
anymore.

ref #958
hw: turn Ipc_msg into restrictive class

ref #958
hw: rename Ipc_msg in Message

ref #958
hw: rename Startup_msg in Start_info

ref #958
hw: bin stupid case in Thread::_await_ipc_failed

ref #958
hw: turn Native_utcb into restrictive class

fix #958
hw: don't communicate main-thread UTCB via SP

When using the initial SP of a main thread for the UTCB
startup-argument, fork_trampoline in libc_noux gets broken.
The function expects the SP to be initialized already in contrast
to the _start function in crt0.s that is called for processes that
are not forked. As the main-thread UTCB is located at the same virtual
address for every PD anyways, we can circumvent this problem by
defining it statically.

ref #964
noux_fork: use pause() instead of endless loop

At least with base-hw, the endless loop at the end of the fork
parent slows execution of the fork child dramatically. Using
libc function pause() is a cleaner solution anyways.

ref #964
noux: enable some arm platforms running tool_chain

ref #964
hw: adjust gcc package to makeinfo version 5

Makeinfo versions greater 5 treat an @itemx that isn't preceeded by an @item
not as warning anymore but as error. The GCC version 4.7.2 that is used by
noux currently triggers this error multiple times. This commit adds a patch
to 'make prepare PKG="gcc"' that avoids the use of @itemx without preceeding
@item. As GCC versions greater than 4.8 should fix this problem by themselves
this should be seen as temporary quick fix.

ref #964
hw: dissolve signal context in Pager_entrypoint

ref #964
run: force qemu to emulate PBXA9 with -m 768

For PBXA9 qemu adjusts provided RAM chips to the -m arg. Thus we
filter user values and force value that enables all chips that Genode
expects to be available. Not doing so leads to inexplicable errors.

ref #964
hw_pbxa9: provide 768 MB RAM

The previously used RAM 0x0..0x10000000 was just an alias for
0x70000000..0x80000000. Qemu provides up to of 768 MB RAM with the
correct -m argument. This RAM is located at 0x70000000..0x90000000 and
0x20000000..0x30000000. At least the noux_tool_chain scripts are
happy to have that much RAM.

ref #964
hw: public access to idle item of a scheduler

ref #964
hw: signalling roles provide protected accessors

ref #964
hw: IPC nodes provide protected accessors

ref #964