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.
We should add Rails master to the travis matrix to check this is working.