base: only commit useful trace events

If the length of a trace event entry is zero it should be ommitted.

Fixes #851.
device_pd: survive failing attachment request

Be more robust. If the attachment fails continue to operate and just print a
error message. Before the commit the device_pd stopped to operate if an
attachment did not succeed.

Issue #683
usb: fix usb stack when used with IOMMU

Fixes #683
acpi: parse RMRR structures and print DMA regions

The regions reported by the RMRR structure are used by legacy devices for DMA
requests. Theses would need to be added to the device_pd to avoid DMAR faults
when used in legacy mode.

For now parse and print them, so that one has a clue about why we get DMAR
faults.

Issue #683
Explicitly specify compile rule for tracing policy

Otherwise we might get conflicts e.g. like -fPIC flag on Fiasco.OC platform.

Fixes #849
os: reenable -fPIC and fix policy linkerscript

As it turns out using -fPIC was not the issue but discarding certain
sections. The policy_module_table is now located in .data.rel which
needs to be at the beginning of the binary.

Fixes #849.
vesa: avoid concurrent access by acpi driver

Issue #843
Reduce IPC with timer service in timed semaphore

Instead of using msleep to sleep periodically, and then increase jiffies
counter in the alarm scheduler implementation of the timed semaphore
use the 'trigger_periodic' call introduced by the change of the timer session
interface into an asynchronous one. Thereby, we can reduce the necessary IPC
communication with the timer service effectively.

Ref #35
tool/run: cancel 'run_genode_until forever'

Enables the user to cancel run scripts in
'run_genode_until forever' via 'ctrl+c'.

fix #826
lwip: add checksum options to 'lwipopts.h'

This patch adds some of lwip's checksum calculation options to the
Genode-specific 'lwiptops.h' configuration file. The checksum calculations
are enabled by default.

Fixes #868.
nic_bridge: cache card's MAC address (Fixes #869)
Increase default NIC session's queue size (fix #870)
core: explicitly throw Out_of_metadata

In case there is not enough quota left to create the trace buffer
or trace policy dataspace throw Out_of_metadata explicitly instead
of rethrowing the Ram_session::Quota_exceeded exception. Now one
can catch Trace::Out_of_metadata exception in a client application.

In addition fix Allocator_guard::withdraw() checks because this
method does not throw any exceptions and a failed withdrawal goes
unoticed.

Fixes #871.
CPU affinity configuration fixes

- if no affinity was set for a new thread before calling
  Cpu_session::start(), the CPU session's affinity gets set for this
  thread
- documentation fix: <affinity_space> -> <affinity-space>

Fixes #873.
lwip: fix thread reset value in 'sys_arch_unprotect()'

Fixes #866.
usb_drv: initialize '_tx_alloc' variable

Fixes #867.
tool/run: Let grep_output strip colors from output
lwip: remove redundant function declaration
pingpong: fix compiler warnings
lwip.run: Increase quote of test-lwip_httpsrv

Adaptation to the recent increase of the NIC session quota.