Fix backoff in monitor step

Also, add Timer interface and FakeTimer struct, for testing
time-related things

Signed-off-by: Simon Leung <leungs@us.ibm.com>