vtimer: unify and enhance interface

Currently the vtimer only accepts relative timestamps, even though it
uses absolute timestamps internally. This PR adds the parameter
`vtimer_absolute_t absolute` to every function, which is either
`VTIMER_RELATIVE` or `VTIMER_ABSOLUTE`.

A generic `vtimer_set_callback()` function is added, which all other
functions use.

`vtimer_sleep()` sleep uses `thread_sleep()` now instead of
`mutex_lock()` to allow spurious wake ups. A parameter `int *spurious`
is added, which is set to 0 if the wake up was not spurious.