The "lazy" greenlet implementation could allow the same timer to run
multiple times in parallel if the first timer instance calls pause()
and another task calls update_timer(). This is confusing and can
cause hard to debug errors. Add a new timer_is_running flag to
prevent it.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>