Refactor service check scheduling

Always reschedule a service check one check_interval in the future
directly at event handler execution. If we want something closer,
replace the event, so we can guarantee that one service check event is
scheduled at all time. If we can do that, we know for sure that we
don't forget about service checks.

Signed-off-by: Max Sikstrom <msikstrom@op5.com>
Make timed_event opaque

That structure doesn't really contain any information nessecary for the
outside world. It contains a pointer to the callback, a storage for
user data, and a time, which doesn't really mean anything soon (when
we're going to monotonic time). Make it opaque to restrict the
temptation to read variables directly

Signed-off-by: Max Sikstrom <msikstrom@op5.com>