Track state of (un)scheduled jobs

Track the state of the (un)scheduled jobs. Add ttl to every (un)scheduling request. 

Currently the transformer starts scheduling on every update in the shepherd. This lead to unneeded scheduling of already scheduled task.

This solution still doesn't work completely. When job with scale factor more than two is scheduled, the transformer tries run the scheduled tasks one by one. After the first job has finished,  the shepherd receives from the state machine an update and informs the transformer(which continue rescheduling the other tasks) so both blocks (the transformer trying to (un)schedule and the shepherd trying to update the transformer).

@peterbourgon  @jmyounker @bernerdschaefer