engine/agent: change reconciler ticker behaviours

The engine/agent currently reconcile every $reconcileInterval,
irrespective of whether any reconcilations occurred for other reasons
(i.e. were triggered) within that period.

A better semantic is for the tick to occur every $reconcileInterval
_after the previous reconciliation was triggered_. To accomplish this,
reset the ticker every time a reconciliation is about to commence.
Merge pull request #798 from jonboulle/reconcilers

engine/agent: change reconciler ticker behaviours