Enhances ability to serve admin pages

All of the Django-defined admin pages, as well as many defined by
external apps, require trailing slashes in the request path. We got
around the annoyance of having to type ^admin/ by redirecting ^admin to
/admin/, but this had the side-effect of redirecting all unmatched admin
pages to /admin/, even if they were invalid pages or only needed an
added trailing slash.

This commit improves the regex and the redirect. It matches any
previously unmatched admin page missing a trailing slash, and redirects
to the page with the added slash. Valid admin pages can now be reached
without their trailing slash, and invalid admin pages will return 404
instead of redirecting to /admin/.

This could have been done slightly more simply by changing the
APPEND_SLASH setting to be True. However, there may be some good
(undocumented) reason why it is currently False, which is why I avoided
that approach. We may be able to try changing this setting to be True,
but we should be cautious if/when doing so. In theory there should be no
immediate problem, but there could be future errors if forms are
submitted to the incorrect URL.
Adds help_text param to SCFormatter methods

Adds optional help_text parameter to the scheduling check module's
SCFormatter methods. If help_text is provided, it is rendered underneath
the check title, to explain what the check does.

Initially used to document the "Hungry Teachers" and "Teachers who Like
Running" checks, which have unclear titles.
Fixing spelling mistake
Fixes _format_dict_table() in scheduling checks
Adds docutils dependency

This is needed for django.contrib.admindocs.
Adds Pygments, a django_extensions dependency

Needed in order to access /admin/doc/tags/ and /admin/doc/filters/
without errors.
Merge pull request #992 from learning-unlimited/princeton-fixes

Princeton fixes