Allow scheduling Workers only once for a given interval and set of arguments

We needed to be able to schedule a Worker only once for a given combination of timestamp and arguments, so we built it as a part of our application.

This code is extracted from the application and made generic, in hopes that it may be useful to other users of sidekiq. I did not open a discussion about it first, since it did not take a lot of time to extract this from our application, so I hope you find it acceptable to include in sidekiq.