Refactors teacher check-in

This will make it easier to add more class info to the teacher check-in page,
and maybe improve performance.  (The performance still isn't great until we
improve resources and user profiles; so it goes.)
Adds class flags to teacher check-in

Resolves #489, resolves #499, resolves #1240.
Adds more class detail to teacher check-in.
Hides class flags stuff on teacher check-in if the module isn't enabled.
Merge branch 'class-flags' into teacher-check-in
Allow volunteer registrations to be removed.

Addresses #1230.  A hidden form field has been added to mark whether the
user has volunteer shifts.  If they do, then they will be shown a
Javascript confirmation box when they try to submit a form without any
shifts.  If they confirm that they do indeed want to remove all of their
shifts, it will now allow them to do so.

For everyone else, submitting an empty form still raises a validation
error.  (All of the fields are now non-required but there is more logic in
the clean() method to compensate.)
Add a configuration/landing page for onsite class list

A simple form is shown if you don't enter any GET variables.  It then
sends you to the class list with GET variables controlled by the form.
It's pretty rudimentary.

If you manually type GET variables into the URL, the behavior is the same
as before.

Addresses #349.
Add a refresh limit

This shouldn't be necessary as the class list should be fast enough on its
own, but it's pretty easy to limit the speed of refresh.  An integer (min.
number of seconds between reloads) can be entered into the
'onsite_classlist_min_refresh' Tag.

Addresses #351.
Makes a bunch of strings into unicode

Trying to prevent unicode decode errors.
Removes reference to lists.learningu.org

Resolves Github issue #245.
Starts docs for stable release 05
More docs
Recorders sections in docs
Docs for class flags stuff, #1234 and #1276.
Adds docs for open classes deadline
Fixes sections in release summary page
rel5 admin documentation: Stripe, group texting, custom template Javascript.
Adds de-duplication to MessageRequest.process()
Fixes CommunicationsPanelTest

As a result of the change in 20f4ec3c, some of the test emails were
being de-duplicated.  This was happening because
ProgramFrameworkTest.setUp() was creating test users with the same name
and email address (all empty strings, in fact).

This change has setUp() create test users with unique names.
Merge pull request #1377 from learning-unlimited/mgersh-scheduling-checks

More scheduling checks improvements