Demo device driver manager (d3m)

The new d3m component is the designated device-driver manager for the
upcoming live CD. It addresses the auto probing of USB storage and ATAPI
boot devices (issue #94) and the aggregation of user input coming from
USB HID and PS/2.
Exceptions at construction time of dynamic objects

This patch implements the support needed to handle exceptions that occur
during the construction of objects dynamically allocated via the
'Allocator' interface. In this case, the compiler automatically invokes
a special delete operator that takes the allocator type (as supplied to
'new') as second argument. The implementation of this delete operator
has been added to the 'cxx' library. Because the operator delete is
called without the size of the object, we can use only those allocators
that ignore the size argument of the free function and print a warning
otherwise. The added 'Allocator::need_size_for_free()' function is used
to distinguish safe and unsafe allocators.
Add spin lock to DDE Kit

Linux DDE used to implement Linux spin locks based on 'dde_kit_lock'.
This works fine if a spin lock is initialized only once and used
infinitely. But if spin locks are initialized on-the-fly at a high rate,
each initialization causes the allocation of a new 'dde_kit_lock'.
Because in contrast to normal locks, spinlocks cannot be explicitly
destroyed, the spin-lock emulating locks are never freed. To solve the
leakage of locks, there seems to be no other way than to support the
semantics as expected by the Linux drivers. Hence, this patch introduces
a DDE Kit API for spin locks.
Add missing include search directory to qt_svg
Mark qt_script46, qt_scripttools as deprecated
Support const RPC functions with no arguments

Until now, the RPC framework did not support const RPC functions. Rather
than being a limitation inherent to the concept, const RPC functions
plainly did not exist. So supporting them was not deemed too important.
However, there are uses of RPC interfaces that would benefit from a way
to declare an RPC function as const. Candidates are functions like
'Framebuffer::Session::mode()' and 'Input::Session::is_pending()'.

This patch clears the way towards declaring such functions as const.
Even though the patch is simple enough, the thorough support for
const-qualified RPC functions would double the number of overloads for
the 'call_member' function template (in 'base/include/util/meta.h'). For
this reason, the patch does support const getter functions with no
arguments only. This appears to be the most common use of such
functions.
Qualifying RPC functions as const

This patch makes use of the recently added support for const RPC
functions by turning 'Framebuffer::Session::mode()' and
'Input::Session::is_pending()' into const functions.
Test d3m's auto-probing of the boot device
Support closing of terminal sessions
Consider count_in in Noux terminal-read function

It does not suffice to constrain the amount of returned data with chunk
size of the transport buffer because the client may have specified an
even smaller value. For example, libreadline reads single characters
from the terminal and expects a single character in return. A different
amount is interpreted as EOF.
Increase quota for USB stack in d3m
Send 'invalid opcode' exception IPC on OKL4

When an invalid opcode gets executed, OKL4 switches to the kernel debugger
console instead of sending an exception IPC to the userland. This patch
fixes the problem by removing the code that invokes the debugger console.

This patch fixes #95.
Limit width of launchpad window

Without limiting the size of the launchpad window, the application
prepares itself for the worst case, taking the screen size as maximum
size to allocate its pixel buffers. Limiting the maximum width to a
reasonable value reduces the memory footprint.
Define struct 'generic_settings_operations'

The definition is needed to compile nic_drv with -O0 for Fiasco.OC.

This patch fixes #96.
Work-around of running Genode with PaX enabled

Thanks to Torsten Hilbrich for reporting. Fixes #91.
Support for prefetching a static list of ROM files

The ROM prefetcher service can be used to prefetch complete ROM files,
which is handy when using the iso9660 server (which normally reads file
content block-wise on demand). The server used to perform the
prefetching upon request of the respective ROM session. This patch adds
a facility for prefetching a predefined list of files. It is primarily
intended for eagerly fetching live-CD content in the background after
having passed the first boot stage.
Make signal test more robust wrt scheduling
Fix a typo in GDB monitor

This patch fixes #104.
GDB monitor test for automatic testing

The following features are tested (currently on Fiasco.OC only):

- breakpoint in 'main()'
- breakpoint in a shared library function
- stack trace when not in a syscall
- thread info
- single stepping
- handling of segmention fault exception
- stack trace when in a syscall

This patch fixes #105.
Fix QtScriptTools compilation

Make the 'moc_*.cpp' and '*.moc' files dependencies of '$(SRC_CC:.cpp=.o)'
to make sure that they get built. This patch fixes #99.