Noux: fix interpreter argument processing

Don't write a '\0' into the argument buffer if no interpreter argument is
given.

Fixes #368.
libc_noux: return the new file descriptor in 'dup2()'

Fixes #369.
libc_noux: fix 'lseek()' error message

Print 'lseek: ERR_FD_INVALID' instead of 'dirent: ERR_FD_INVALID'.

Fixes #370.
LWIP: Fix dead lock in semaphore back-end

Make sure unlock is called when 'global_mutex' reaches zero count. Add verbose
variable in order to disable some output. Disable irritating 'Overflow' messages
in 'sys_mbox_post' and 'sys_mbox_try_post' per default. This may happen and is
not an error, since the ring buffer is full and will be emptied eventually.
Remove priority from genode_org run script.

Should fix #347
libc: return 0 in 'fchmod' and 'utimes' dummies

Fixes #371.
Noux: fix error handling in 'Dir_file_system'

If during the file system iterations in the 'stat()', 'rename()' or
'mkdir()' funtions of the 'Dir_file_system' class any file system
returns an error code other than 'ERR_NO_ENTRY', return immediately.

Fixes #376.
Noux: get 'libgcc_eh.a' built with GCC

Fixes #373.
Noux: release binary dataspace in SYSCALL_EXECVE

Fixes #375.
Avoid use of address 0x0 in protection domains.
Add missing initialization of 'write_combined'
NOVA: drop special utcb handling of main thread

Unify handling of UTCBs. The utcb of the main thread is with commit
ea38aad30e6166a0da1ac8bd84b53d6e1962cfaf at a fixed location - per convention.
So we can remove all the ugly code to transfer the utcb address during process
creation.

To do so also the UTCB of the main thread of Core must be inside Genode's
thread context area to handle it the same way. Unfortunately the UTCB of the
main thread of Core can't be chosen, it is defined by the kernel.

Possible solutions:
- make virtual address of first thread UTCB configurable in hypervisor
- map the utcb of the first thread inside Core to the desired location

This commit implements the second option.

Kernel patch: make utcb map-able
With the patch the Utcb of the main thread of Core is map-able.

Fixes #374

Noux actually uses the sp variable during thread creation and expects to be
set accordingly. This wasn't the case for the main thread, it was ever set
to the address of the main thread UTCB.
Compile PDBG() in release mode too

Formerly, GENODE_RELEASE just undef'd PDBG() which concealed bugs in
places PDBG was used, e.g., do to API changes. Unfortunately,
desparately disabling GENODE_RELEASE during bug hunt sometimes
introduced new errors. Now, PDBG is just a branch not taken but seen by
the compiler, which is able to produce warnings/errors when the API is
changed.

Fixes #378.
Add support for symbolic links

This patch adds support for symbolic links in libc, libc plugins, file
system servers and Noux.

Fixes #322.
Noux: 'which'

This patch adds the GNU 'which' program to the 'ports' repository.

Fixes #380.
ram_fs: always set '_length' in 'File::truncate()'

Fixes #381.
Vancouver: use github version

Fixes #361
NOVA: fix compiler warning
NOVA: cleanup - remove _first_sel special handling

Replace dislocation of extern variables with simplistic convention
Whitespace fixes in Noux
Avoid superfluous compiler warnings

GCC warns about uninitialized local variables in cases where no
initialization is needed, in particular in the overloads of the
'Capability::call()' function. Prior this patch, we dealt with those
warnings by using an (unreliable) GCC pragma or by disabling the
particular warning altogether (which is a bad idea). This patch removes
the superfluous warnings by telling the compiler that the variable in
question is volatile.