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.
Would this be better as something like:

```
$job = $this->owner->PublishJob();
if($job && $job->exists()) {
   $job->delete();
}
$this->owner->PublishJobID = 0;
```