Ref T2543. Add isPublished() to mean: exactly the status 'closed', which is now interally called 'published', but still shown as 'closed' to users.
We have some callsites which are about "exactly that status", vs "any 'closed' status", e.g. including "abandoned".
This also introduces isChangePlanned(), which felt less awkward than isChangesPlanned() but more consistent than hasChangesPlanned() or isStatusChangesPlanned() or similar.