Medium: use subsecond timers internally
Coercing timers to seconds eventually introduced misaligned
actions. Though such cases are taken care of, it is still better
to keep actions on different hosts as close to each other as
possible.
This should also enable subsecond elections. To the least, it
enables faster testing.
Code is also cleaner, as various time operations got stuffed into
timer.* and given meaningful names.