Use do statement in PDBG and PWRN

The do statement ensures the macros to generate just one expression that
is compatible with any programming construct. The concrete bug was

  if (cond)
    PDBG(...);
  else
    ...

which was expanded to

  if (cond)
    if (DO_PDBG)
      Genode::printf(...);
  else
    ...

This is obviously wrong as the *else* branch is then connected to the
second *if*.
nova: simplify handling of multi-boot command line

Fixes #1105.
noux: enable 64bit builds for foc and nova

Fixes #816
base: allocate contexts solely inside context area

Reserve first bit in bit allocator for main thread of context allocator and
remove special cases in context allocator. Without the reservation there is
is one context outside the context area allocated.

Fixes #1100
ldso: flush the log console in 'errx()'

The error message given to the 'errx()' function does not always contain a
'\n' character. Adding 'printf("\n")' ensures that the message appears on
the log console.

Fixes #1103.
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