More appropriate name for role supersession join
Fix whitespace
Combine status and reason_for_inactivity

We can model inactive roles with a single attribute instead of two.
Mark validation methods private

Also move class/scope methods to the top of the list to make them easier
to spot
Tweak role description helper

* Non-ministerial roles do not have public-facing pages, causing this
helper to break when a role is replaced by a non-ministerial role (the
url helpers for it do not
exist).

* Handle active roles that are unoccupied to maintain the existing
behaviour
Get rid of legacy code

This was only here temporarily to handle the deployment of the role
translations feature. It is no longer required.
Rename organisation supersession join model