Fix deletion of expired ChangesetSpecs
Created by: mrnugget
The comments in the code explain what was wrong before:
- We tried to delete
CampaignSpecsbefore theChangesetSpecs, which would lead to a foreign key constraint violation. - We expired
ChangesetSpecsthat were still attached to aChangeset, either as thePreviousSpecor theCurrentSpec.
This commit fixes both issues and fixes #12763.