Rename "archived" state to "superseded"

This is part 1 of https://www.pivotaltracker.com/story/show/57899408

It's a big enough set of changes that it makes sense to merge, test and deploy this before we add the archiving functionality. The "archive" state is being repurposed, so we need to rename the existing state to something else, i.e. "superseded". In doing so, I've also reworked the act of unpublishing into one of our newfangled service objects. Commit history is in a pretty sane state this time, so that might be the best way to review this.