Fixes static files for filebrowser tests
Fixes NoVaryOnCookie tests
Adds app exclusion to tests
Merge branch 'main' into gurtej-fix-more-tests
Adds django to excluded apps for tests
Merge branch 'main' into gurtej-fix-more-tests
Fixes ProgramHappenTest

979b421c introduced a change in current_schoolyear, which
determines schoolyear based on program dates. The program dates
for this test were set to 3001, but the graduation year was
relative to "now".
Fix to /manage///editclass/#### for walk-ins

It was not using the appropriate editopenclass.
Move Ajax scheduling UI tests to seltests.py
Fix some of the errors in Ajax scheduling backend tests

The tests were written when the change log was stored in memory.
Since then, the system has changed so that the change log is stored
in the database (AJAXChangeLog model) and is now accessed by index
rather than by time (see 04f6854).  This commit updates the tests to
match the new change log scheme.
(cherry picked from commit 6b957e68220f09bec0c31a18aedddeb6fd1fc834)

Conflicts:
	esp/esp/program/modules/tests/ajaxschedulingmodule.py
Correct CommPanelTest call of send_email_requests()
(cherry picked from commit 79621b12147bb52c2d6d24d5ffe8a3a3d77f7505)
Fix test failure in Ajax scheduling: testTooOldChangeLog

The test code was not actually doing anything after clearing the change log,
yet it expected that the view would request a reload.  In fact the view code
is smarter than that and only requests a reload if something has changed
since you deleted the change log.  So we have to test that behavior.
Fix StudentRegTest test_confirm()

This is the ProgramFrameworkTest flavor of the entertaining bug that
hit ProgramHappenTest (the "current school year" not being the current
year).  See d38afe9 and 1028cd3.
Remove esp.twilltests app

The code is 5+ years old and has not been used recently.  There are
now other tools for testing against a live server, which should not
be in our test suite, and we will have to come up with a better
solution for testing against a dev server running "in parallel"
with the test suite (like our Selenium tests).
Add a placeholder for the media dir checked by filebrowser tests
Stop trying to include/import twill
Fix theme tests

f4a3cae didn't work because {% comment %} does not appear in rendered
HTML.  Fix this by including the theme name in an HTML comment, but one
that is provided by elements/html in a reasonable place.
Compare categories instead of category names in a few places.
Excludes reversion unit tests from running

The "RevisionMiddleware can only be included in MIDDLEWARE_CLASSES
once" failure was due to a faulty assumption in the Reversion
unit tests. The test view added the RevisionMiddleware as a
decorator, so because our app also addes the RevisionMiddleware
to MIDDLEWARE_CLASSES, we end up using it twice. No simple
workaround comes to mind, so I'm disabling all reversion tests.
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.