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.
:+1: to new test.

Totally agree that clarity over speed wins almost every time with tests. I'm in less agreement with the one assertion per unit test thing though. I don't think it's as simple as that and that each test should be judged on it's own merits. I think the previous occasion I suggested that a bunch of tests should be merged together was for a series of functional tests testing a single controller action with the same set of inputs, each with a single assertion (e.g. `assert_response`, `assert_assigns`, etc). In such cases where you are basically testing the behaviour of a single action, I think it's a reasonable compromise to have all the assertions in a single test, with little loss of clarity (the assertions clearly state the behaviour expected without having to be repeated in the test description). If we tested all our controller actions with a single assertion per test, the test suite would be several orders of magnitude larger and even more painfully slower.

For regressions like this, it will almost always make sense to write a new test that specifically targets the bug in question, both to serve as documentation of the bug and to ensure we have clear coverage to prevent it coming back in future.