Refactor to include less stuff directly in ActiveJob::Retry but use Retrier classes

Refactor all the things! This should make it epicly easy to customise.
:+1: I think `(_attempt, _exception)` would be allowed by rubocop. Should also add rubocop...