pull_client: let the scheduler decide when to run the next attempt

When a step fails the command doesn't do anything after. We wait the scheduler
to give us again the command to re-run the step.
pull_client: handle non_fatal_steps