Redis based job queues support delayed job execution. Implement dispatching based on this instead of relying on a cron job.
* Every edit schedules a delayed DispatchTriggerJob. That job is completely generic and holds no info at all, so DispatchTriggerJob of this kind are the same. This means that new jobs get ignored if there is already an older job waiting for execution.
* (option a) DispatchTriggerJob would poll the changes table, as we do now, and dispatch any pending changes to the most lagged wiki(s).
* (option b) DispatchTriggerJob would take the next batch of changes, and send notifications for all of them to the interested wikis.
* If there are still pending jobs or wikis to service, DispatchTriggerJob schedules another (delayed?) DispatchTriggerJob before it exists.
**Whiteboard**: u=dev c=backend p=0