Nested init on i.MX31 via base_hw. Rework base_hw.

Implies support for the ARMv6 architecture through 'base-hw'.

Get rid of 'base/include/drivers' expect of 'base/include/drivers/uart'.

Merge with the support for trustzone on VEA9X4 that came from
Stefan Kalkowski.

Leave board drivers in 'base/include/platform'.

Rework structure of the other drivers that were moved to
'base_hw/src/core' and those that came with the trustzone support.

Beautify further stuff in 'base_hw'.

Test 'nested_init' with 'hw_imx31' (hardware) and 'hw_panda_a2' (hardware),
'demo' and 'signal' with 'hw_pbxa9' (qemu) and 'hw_vea9x4'
(hardware, no trustzone), and 'vmm' with 'hw_vea9x4'
(hardware, with trustzone).
base_hw & omap4: Timer driver.

Fix bug regarding idle thread in thread scheduling in
'base-hw/src/core/kernel.cc'.

Fix regarding signal submit in signal framework in
'base-hw/src/core/kernel.cc'.
base_hw & omap4: USB HID and framebuffer driver.

Implement 'Signal_receiver::pending()'.

Provide display-subsystem MMIO.

Avoid method ambiguousness in 'Irq_context' in
'dde_linux/src/drivers/usb/signal/irq.cc'
(it derives from two list element classes when using 'base_hw').

Enables demo scenario with 'hw_panda_a2'.
base: Tell a mapping wether it maps IO memory.
base_hw & arm: Memory attributes and light caching.

Enable caches. Core is not cached by now. This is because kernel
creates core space and doesn't know any memory attributes by now.
Cacheable pages are cached write-through without write-allocate.

Caching and write-combining is not supported for IOMEM by now.
base_hw: Implement TLB as member of a kernel PD.
base_hw: Rename 'Software_tlb' 'Tlb'.
base_hw: Use board-specific 'Core_tlb'.

'Core_tlb' ensures that core never throws pagefaults,
in contrast to its base 'Tlb' that is planned to use displacement
in the future.

'Core_tlb' enables the application of differenet memory attributes
in core, according to the board specific partitioning of the physical
address space. This way it enables caching in core.
ports: remove binutils patch

Fixes #475.
GDB monitor: preserve more RAM quota

Fixes #484.
base: Fix a number of warnings about unused parameters

The warnings are shown if components using the genode base are
compiled with -Wextra -Wall enabled.

Fixes #489.
Root_component::session: Fix ram_quota handling

You cannot check an unsigned size_t variable for underflow, so I
changed the code to first check if an underflow would occur before
performing the subtraction.

Fixes #489.
Noux: fix dup() in libc_noux

The previous implementation disregards the fact that we actually have
to use libc's plugin mechanism if we play with fds. So in the end the
libc did not know to which plugin the fd belonged.

Fixes #493.
libports: add dup() to libc

Fixes #492.
Noux: speed up tar record lookup

Currently the lookup of a specific record in a tar archive may take a long
time, because the records get searched in sequence. With this patch a tree
structure representing the directory layout gets created when loading the
tar file for speeding up record lookups.

Fixes #491.
base-pistachio: Avoid warnings.

Avoid warnings in 'base-pistachio/src/core/platform_pd.cc'
and 'base-pistachio/src/core/platform_thread.cc'.

Fixes #479.
ports: GCC 4.7 build fixes

Fixes #476.
libports: stdcxx 4.7.2 update

Fixes #469.
Noux: fix num_* return value in SYSCALL_SELECT

select_out.num_* was unecessarily set multiple times and not at all
if unblock_* was 0.

Fixes #494.
Noux: fix resetting wrong number of fds

Since the number of the fds in the select call is not necassarily equal
to the number of fds SYSCALL_SELECT returns we have to reset the number
of fds given as argument to select().

This keeps OpenSSH from reading from a non-ready socket.

Fixes #494.