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