Backport from EE: Introduce #renew for ExclusiveLease
What does this MR do?
As part of gitlab-org/gitlab-ee!1988 we've improved the ExclusiveLease to add a renew functionality. This is a backport to CE.
Are there points in the code the reviewer needs to double check?
Why was this MR needed?
We've improved the ExclusiveLease and the improvement may be useful for CE as well.
What are the relevant issue numbers?
gitlab-org/gitlab-ee!1988