nova: set pager and native ec cap for main thread

Prerequisite for follow up commit regarding base-nova specific Genode Spinlock
replacement.

Issue #986
nova: replacement of generic Genode spinlock

Turn Genode user-level spinlock into a user-level "helpinglock". This requires
support by the kernel introduced with kernel branch r5.

The commit avoids live-locks when multiple threads with SCs on different
priority levels compete for the same user-level Genode "spinlock".

Issue #986
nova: support usage of priorities in Genode/Nova

Enables finally the usage of priorities on base-nova.

Fixes #986
Generate Genode version string on each build

The version string was generated when core/main.cc was rebuilt, which
happens on changes in the file itself or in a header file it includes.
But, the version should reflect if the Genode repository was changed at
any place. Therefore, I moved the version string to its own version.cc
which is forcedly rebuilt any time core is examined by the build system.

@nfeske what do you think about it? Core is now relinked on any build.

Fixes #551.
vbox: improve BFE argument handling
hw: cleanup signal-session component

ref #1123
hw: raise max amount of signal contexts

This is needed at least for the resource-request test since all available
interrupts are provided through a signal context.

fix #1123
Arora: apply all patches

Fixes #1124.
hw: fix bug in Kernel::update_*_region

fix #1125
use consistent scheme for chosen MAC addresses

Take a similar MAC address scheme within run scripts like
within the nic bridge to simplify DHCP configuration.
rump: Stabilize rump libs and fs server

* Perform sanity check before calculating memory available to rump kernel
* Distinguish between 'Hard_context' and 'Hard_context_thread', so no dead
  threads (that will not be started) are created
* Install signal-handler for memory-resource requests. This way the fs server
  will not block forever when the quota is execeeded and a resource requests
  fails, leaving the rump kernels to perform necessary actions

Fixes #1127
terminal_session: Add label argument to connection
noux: Handle SYSCALL_KILL in switch (fix warning)
noux: Decouple Dir_file_system from file systems

By introducing the new 'File_system_registry', we can remove the
knowledge about the actual file-system implementations from the
'Dir_file_system'. Thereby the code becomes more generic, which is
a precondition for using it as the basis for Genode's VFS library.

Issue #999
libc_noux: style fix
test/libc_ffat: Operate on cwd instead of root dir

The test used to rely on a writable root directory. To reuse the test
for the new VFS, where '/' is never writable, I changed all absolute
paths to relative paths.
tar_fs: Return correct size of stat'ed dirs

Genode's file system interface returns the number of directories
multiplied by sizeof(Directory_entry) as size of a directory. The
tar_fs server used to return zero. The fix counts the sub nodes of
the given directory.
file system: Exception for non-permitted symlinks

Until now, there was not exception type for the condition where a
symlink was created on a file system w/o supporting symlinks, e.g., FAT.
The corresponding file-system server (ffat_fs) used to return a negative
handle as a work around. I added 'Permission_denied' to the list of
exceptions thrown by 'File_system::Session::symlink' to handle this case
in a clean way.
mixer: Increase stack size of entrypoint
Move VFS from noux to 'os/include/vfs'

By separating the VFS from Noux, we become able to reuse the
VFS for libc-using programs. The most substantial change is the
removal of Noux::Sysio data structures from the VFS. Instead, the
Noux::Sysio refers to the VFS types now.

The new VFS library is located at 'os/include/vfs/'.

Furthermore, the patch removes various code duplications related
to pseudo file systems that provide a single file (block, zero,
random, terminal, null). The new 'Single_file_system' holds the
common boilerplate code for those.

Issue #999