Implement option to not release lock after the job failed.

By default jobs get unlocked when they failed, allowing the same job
to be queued again.

This commit introduces the `lock_after_failure` option which you can use
to keep the lock alive after failures. Just set it in your
sidekiq_options, e.g.:

```
class HardWorker
  include Sidekiq::Worker

  sidekiq_options unique: true, lock_after_failure: true
end
```

When `lock_after_failure" is not set, or set to false the job will be
unlocked after a failure, like before.