Fix for ministerial role name select labels

www.agileplannerapp.com/boards/173808/cards/6384

the role variable was storing a reference to the role name string to which appointment date ranges were being appended. hence for every subsequent role appointment, the previous appointment date ranges were also being displayed.

includes a data migrations to clear the related cache, which otherwise will only be cleared when role appointments change.
@tekin - i believe in having one assertion per unit test, so that the tests remain descriptive and if one thing breaks we don't have to fix multiple tests. it is also true that when i've done that in Whitehall, i've been suggested to group assertions under one test, so that the tests suite remains fast. that's what i've done here by adding a comment. it is tricky to draw a line, because it is very subjective which assertions can be grouped.

i've split the test according to your suggestion, which even i prefer; and would suggest we try and achieve readable tests over a faster test suite, because that is a separate problem to solve.