timers: do not fire timer if unenrolled

The previous commits introduced a behavior change. If two timers fired
at the same time, and the first one to be processed in the list would
unenroll the next one, the next one would still fire.

This change puts back the old behavior of not firing the next timer to
be processed in the list if it has been unenrolled.