DelayedBackgroundJob: validate constructor arguments
DelayedBackgroundJob: rename trigger() to triggerExecution()
DelayedBackgroundJob: use Executor from Ticker
Background jobs: refactor inheritance

This is preliminary work for providing a drop-in alternative
implementation of the ticker-based delayed background job for use in
unit tests.