timers: added os::Timer::waitFor(...) and os::Timer::waitForUntil(...) member functions

This is needed for the implementation of `OCL::TimerComponent::wait()` and `OCL::TimerComponent::waitFor()`.
See https://github.com/orocos-toolchain/ocl/issues/23.

The value type of the protected mtimers vector was changed from `std::pair<Time,Time>` to a new struct `TimerInfo`,
which additionally contains a condition variable that is broadcast when the timer expires.

This patch also fixes a bug that caused the Timer::loop() function to exit immediately if the Timer is
stopped and started again as the `mdo_quit` flag was not reset in initialize().

Signed-off-by: Johannes Meyer <johannes@intermodalics.eu>