core: re-design memory allocator (fix #1091)

* Core_mem_allocator: implement Range_allocator interface
* Core_mem_allocator: allocate with page-granularity only
* Use slab allocators in core where meaningful (e.g. dataspace objects)
Remove outdated sections from doc/architecture.txt

Fixes #71
pandaboard: prevent copy of non-copyable objects

Follow up fix for commit 0b7ea4abab
Ref #1093
uart/omap4: prevent copy of non-copyable objects

Follow up fix for commit 0b7ea4abab + minor whitespace changes.

Ref #1093
uart/exynos5: Add missing author
hello: fix missing build steps and vague config

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