Better task reconciliation

- fixes an issue where the REST API is still catching up on task reports and Singularity startup considers them lost
- uses task reconciliation on the framework driver API
- allows reconciliation to happen periodically in case of failures
- refactor common poller code