surface late tasks, future tasks, max task lag in SingularityState

`lateTasks` - number of scheduled tasks that should have been executed already (i.e. `nextRunAt` <= `System.currentTimeMillis()`)
`futureTasks` - number of scheduled tasks that will run in the future (i.e. `nextRunAt` > `System.currentTimeMillis()`)
`maxTaskLag` - how late the oldest overdue task is in milliseconds

@wsorenson @adamschwartz