Add until_executed deduplication strategy
What does this MR do?
While working on POC - Image Resizing: Resizing via Sidekiq, we needed to introduce new :until_executed deduplication strategy which locks until the previously scheduled job finishes (gitlab-com/gl-infra/scalability#195).
This MR introduces until_executed deduplication strategy - It locks until the previously scheduled job finishes. It should prevent background jobs to be running simultaneously multiple times.
Related to #241378 (closed)