Add retry args, no_retry & retry_attempts

Hi @didil,

I was working on adding some arguments around retry options

```no_retry```: tells sidekiq to not retry the job obviously
```retry_attempts```: tells sidekiq how many times to retry the job, if it fails

I'm not sure if I implemented them in the best way, but hopefully you will agree that they are valuable features to add :smiley_cat: 

I also refactored the specs a little where I was working, I hope that is ok.

Cheers!