Fix bugs in libc_noux's sendto() method

The sysio's struct fields need to be properly set on each syscall. This
fixes a bug where the wrong fd is used after the first sendto syscall.

Also the minimal buffer size calculation uses the wrong size.

Fixes #235.
Run script for timer test
Construct process member as late as possible

When creating a 'Child' object with an already active entrypoint,
session requests may arrive as soon as the '_process' is created. We
have to make sure that at least all parts of the 'Child' object needed
for serving 'session' requests are constructed. This is particularly
important for the '_policy' member.
Let chroot test succeed on lx_hybrid platform
Print error message if 'execve' failed
Propagate loader-session errors as exceptions
Test for combining loader with chroot
Fix libc_noux's Plugin::getpeername() method

The argument's order was wrong in the memcpy() call. In addition
the wrong sysio struct was used for the addrlen argument.

Fixes #238.
Add writev() to libc

This function is needed by perror(3).

Closes #239.
Add support for allocating DMA memory

This patch extends the RAM session interface with the ability to
allocate DMA buffers. The client specifies the type of RAM dataspace to
allocate via the new 'cached' argument of the 'Ram_session::alloc()'
function. By default, 'cached' is true, which correponds to the common
case and the original behavior. When setting 'cached' to 'false', core
takes the precautions needed to register the memory as uncached in the
page table of each process that has the dataspace attached.

Currently, the support for allocating DMA buffers is implemented for
Fiasco.OC only. On x86 platforms, it is generally not needed. But on
platforms with more relaxed cache coherence (such as ARM), user-level
device drivers should always use uncacheable memory for DMA transactions.
News about interview in Revista Espírito Livre
Enable Noux for ARM

With this patch the existing Noux run scripts except the tool chain script
can be executed on the ARM platform.

Fixes #229.
Fix ring buffer interface description

The maximum number of elements in the ring buffer is QUEUE_SIZE - 1.

Fixes #240.
Cross-link terminal

This patch implements a service which allows two clients to communicate
with each other using the 'Terminal' interface.

Fixes #242.
Remove Qemu bug workaround in pl11x driver

Remove a workaround for Qemu <= 0.14.x which results in a wrong
pixel format on Qemu >= 1.0.

Fixes #243.
Noux terminal file system

This patch adds a new "terminal" file system type to Noux, which allows to
create a "character device" file that is connected to a Genode 'Terminal'
service.

The 'Terminal' session created by the file system has the label
"noux(terminal_fs)" to distinguish it from the 'Terminal' session
created by Noux itself.

Fixes #244.
ARM stack alignment

Align the stack on a 16-byte boundary as on the x86_32 platform.

Fixes #236.
libports: Expat

This patch adds the "Expat" XML parser library to libports.

Fixes #245.
Catch 'File_system::Lookup_failed' exception

In 'Fs_file_system::open()' the call of '_fs.dir()' can throw a
'File_system::Lookup_failed' exception, which gets explicitly caught
with this patch.

Fixes #246.
Bunch of compiler warning fixes, issue #234