Some use cases for timers require extending the timer's deadline or resetting it to fire
again. Implementing this using the existing time functions NewTimer and AfterFunc is
somewhat awkward and error-prone. Instead, let's add:
// Reset resets the time remaining on the timer to d.
func (*Timer) Reset(d Duration)