update the logic to skip a job (#761)
* refactor: 💡 express should_skip_job as the reverse rules
it's easier to list the reasons for which we want to run a job, instead
of the reason to skip it
* feat: 🎸 update the logic to skip a job
Instead of retrying for any non-successful response in the cache, we
only retry if the error is in the list of "retry-able" errors. Also:
refactor the logic and add complete tests