pkg: add ExpBackoff function
heart: add Heart & Monitor structs
server: use heart.Monitor to monitor etcd connectivity
API: wrap handlers with availability
Merge pull request #611 from bcwaldon/heart-monitor

Monitor etcd connectivity
engine: switch to reconciler model
engine: refactor engine logic
engine: fix CheckForWork comment
job: add Job.Scheduled method
engine: rewrite CheckForWork for understandability
engine: add lots of logging to Engine.CheckForWork
engine: tweak logging