BUG Ensure that past dates for embargo / expiry are handled elegantly

Tests also consider publish > unpublish and unpublish > publish workflows, with the current point in time either before, after, or in the middle of any specified range.

Instead of using changed status of fields to detect if a job should be created, it acts more pessimistically by checking any existing job, and comparing the scheduled time against desired time.
Probably better as `Injector::inst()->get('QueuedJobService')`?