Implement retry logic

On execution failure/timeout failure let's restart deadline timers and Retry failing commands.

Allows to handle cases where we execute a flaky command weekly/monthly/daily and it can fail.
Now we can just retry it a few times and still have monthly/weekly/daily execution instead of heaving a successful execution only every few months/weeks/days. So a big improvement for rare periodic tasks.

New parameter `--retries` activates this logic.

@mlafeldt PTAL

NOTE: This makes periodicnoise feature complete.