Bug 1054437 get involved redesign

Probably needs a bit more polishing and tidying but it's complete enough to start code review.

Run <code>./manage.py cron update_reps_ical</code> to fetch events if you don't already have them.
Pretty sure we can drop the use of this mixin