Stop using Sidekiq for updating Key#last_used_at

Merged yorickpeterse-staging requested to merge remove-use-key-worker into master

What does this MR do?

This makes things simpler as no scheduling is involved. Further we remove the need for running a SELECT + UPDATE just to get the key and update it, whereas we only need an UPDATE when setting last_used_at directly in a request.

The added service class takes care of updating Key#last_used_at without using Sidekiq. Further it makes sure we only try to obtain a Redis lease if we're confident that we actually need to do so, instead of always obtaining it. We also make sure to only update last_used_at instead of also updating updated_at.

Does this MR meet the acceptance criteria?

What are the relevant issue numbers?