base: fix bug in String::valid()

String::valid() does not check whether _length is zero.
Consequently, this leads to _buf[-1] being evaluated.
nitpicker: Fix implementation of Mode interface

The generalization of nitpicker's graphic backend changed the interface
of 'Mode::forget', which is a (non-pure) virtual function implemented
by 'User_state::forget'. Unfortunately, the signature change was not
applied to 'User_state::forget' so that the actual implementation was
no longer called. This inconsistency remained unnoticed because there
is a default implementation of the virtual function.

The effect of the omission of the 'User_state::forget' call was a
dangling pointer ('User_state::_pointed_view').

Lesson learned: Always annotate functions with the C++11 'override' when
implementing virtual functions.
Provide Genode version information in log

Fixes #551
os: reprogram timer solely if needed

If an alarm/timeout object became head of the timeout queue, then the
low level timer must be reprogrammed.

Issue #1106
timer: fix wrap handling for x86 PIT

Issue #1106
timer: fix corner case if counter is 0

If counter drops to 0, the wrap flag is set also. That means we have actually
no wrap around. The patch avoids to add too much time to the elapsed time
variable.

Issue #1106
pit: no lock required in pit anymore

timer service calls platform timer nowadays solely from the vary same thread
 - the entrypoint of the timer service

Issue #1106
qt5_textedit.run: fix the USB driver configuration

This patch adds the 'uhci', 'ehci' and 'xhci' XML attributes to the USB
driver configuration in the 'qt5_textedit.run' script.

Fixes #1110.
stdcxx: build 'tinfo.cc'

The 'tinfo.cc' file needs to get built, because it implements
'std::type_info::operator==(std::type_info const&) const', which
is needed by the 'icu' library on ARM.

Fixes #1109.
run: change resolution of virtualbox_auto_disk

We changed the test hardware and the new one does not support 1400x1050 anymore.
Choose some conservative resolution since this is anyway a auto test nobody
is really looking at the screen output.
fiasco: add bda support for bootstrap

Issue #1116
base-fiasco: relocate all modules in bootstrap

Fix #1116
hw: use reliable start message in run env

Previously for determining wether boot-up succeeded or not, we looked
for a message that is switched off in release mode. Now the kernel
provides a reliable message as soon as initialization is done.

ref #1096
noux: make RM replay less noisy in release mode

As the message "replay: missing dataspace info for ..." occurs multiple times
on every fork, it slows down at least noux_tool_chain_auto with hw_arndale
about 10 seconds. To avoid this overhead in release mode I've turned it into a
warning rather than an error.

ref #1096
hw: make kernel less noisy in release mode

In most cases an error report is not necessary in the kernel as the problem
does not affect the kernel itself but the according user-land context. Thus
we can also do a warning that is not printed in release mode and hence safe
execution time.

ref #1096
hw: make RM faults less noisy in release mode

If an RM fault ends up in any trouble, the faulter remains paused and
the pager activation continues with the next fault. Thus we can print
a warning instead of an error and safe execution time in release mode.

ref #1096
hw: reduce stack size of idle threads

ref #1096
hw: faster Kernel::Signal_receiver::_listen()

ref #1096
hw: move core-restricted interface to local header

fix #1096
hw: remove unused kernel_pd_alignm_log2

ref #1101