Add Basic Support for Job Deferrals

This adds the capability for the worker to poll for deferred jobs. Deferred jobs have an associated timestamp, which determines that they should be executed once the current time is greater than the timestamp.

Items in the deferred queue have the same payload as regular jobs, but with an additional "queue" key. This allows the worker to determine which queue the deferred job should be placed on.