Cache ministerial role tagging

This adds caching to the ministerial roles select on edition forms.
Things of note:

The select field lists all role appointments for ministerial roles and
includes both the role holders name, the role name, the dates they held
the role if it was in the past, and the organisations they belong to.
This creates quite a dependency graph for generating a cache digest that
will correctly invalidate. This is handled with after_update callbacks
on the MinisterialRole and Person models that touch the :updated_at
timestamp on their role appointments. This means that any changes in a
person's organisations won't be instantly reflected in the selects, but
given that this information is not central to tagging to a ministerial
role appointment, this seems like a reasonable compromise.