1069: Refactor to allow more flexibility with IT roles
This change allows a person to have multiple instances of the same IT role except for the 'Current Chemist' role. This allows a historical record to be kept of things like the number of times a remote access role has been renewed. The Current Chemist role is special because its contents are generated automatically by changes to HR data elsewhere in the database. We cannot have more than one of those per person as otherwise it's not clear which role to apply any change to, given how complicated our HR records are.
This change drops the 'enabling_role_id' column from the application and person_role tables. As Current Chemist roles are limited to one per person, we do not need to note which Current Chemist role determines the dates for extensions. While we might want to do something more complicated if we ever decided to grant 'extensions' to other types of role (eg SPRI roles) it seems best to keep it simple for now.