Lua: Port of Lua runtime and simple example

The Lua runtime library is built in two variants: ANSI C and C++. The
C++ provides all Lua API function with C++ linkage and uses C++
exceptions instead of setjmp/longjmp for protected execution of Lua
chunks.

The ported version of Lua is 5.1.5.
Lua: Use some Genode functions from example

The example provides Timer::msleep() and the process' quota() to Lua
code.
Lua: Put Genode integration into own Lua lib
New DDE-Linux-based USB driver

The new 'dde_linux' repository will host device drivers ported from the
Linux kernel. In contrast to the original 'linux_drivers' repository,
'dde_linux' does not contain any 3rd-party source code. To download the
Linux kernel source code and extract the drivers, execute the 'make
prepare' rule of the top-level Makefile. The initial version of the
'dde_linux' repository comes with an USB driver. The porting methodology
follows the path of the Intel GEM port. Instead of attempting to provide
a generic Linux environment that works across drivers, each driver comes
with a specially tailored DDE.

The DDE consists of Genode-specific implementations of Linux API
functions as declared in 'lx_emul.h'. Most of these functions are
dummies that must merely be provided to resolve dependencies at the
linking stage. They are called by unused code-paths.

As of now, the USB driver support UHCI, EHCI on the x86_32 platform. I
exposes USB HID devices and USB storage devices via Genode's input-session
and block-session respectively.

The USB driver is accompanied with two run scripts 'run/usb_hid.run' and
'run/usb_storage.run'.
Avoid ambiguousness of entry members in FIFO
Boolean fields and strict write on Registers/MMIO
Defs for the boards, supported by 'base-hw'
Atomic compare exchange for ARM platforms

Makes similar kernel-specific implementations unnecessary,
although i don't delete them with this commit.
Simple drivers for the Cortex A9 components
Simple driver for the PL390 Interrupt controller
Simple driver for the SP804 timer
Basic drivers for UART modules PL011 and TL16C750
Add dynamic_pointer_cast method to Shared_pointer

This methods is currently only used for casting an Io_channel
object to an Socket_io_channel object.
Introduce server-role member to 'Child' class

This patch is needed to use children as services in a dynamic
way (closing and reopening sessions).
Add 'libav' to libports

Fixes #212.
'avplay' media player

With this patch the SDL-based 'avplay' media player, which is part of
'libav', can be built. The run script expects a media file named
'mediafile' in the 'bin' directory.

Fixes #216.
Extend libc with libresolv functionality

This commit enables libc's own libresolv and its dependencies.
Add shutdown to lwIP libc plugin
Initial version of networking support for Noux

Noux/net adds network functionality to noux. Currently most basic
network related system calls including 'accept', 'bind', 'connect',
'listen', 'recv', 'send', 'shutdown', and 'socket' are implemented by
wrapping lwip's network functions.

At the moment noux/net is rarely usable, though it is possible to
use netcat to send a message to a netcat server which listen on a
given port in noux/net.
Add port of OpenSSL to libports

This commit contains the initial port of OpenSSL to Genode. It certainly
needs some more work to get things straight - it compiles fine but does
not work because of a NULL pointer exception.