Fixes static files for filebrowser tests
Fixes NoVaryOnCookie tests
Adds app exclusion to tests
Merge branch 'main' into gurtej-fix-more-tests
Work around Ajax scheduler failure for non-integer-hour classes

Yale reported that they were unable to schedule a 1.5 hour class into a
single 1.5 hour time block that was not contiguous with any other time
blocks.  It was not hard to find the reason why since Ruthie put a helpful
comment by the relevant code saying that it wouldn't work in that case.

The Ajax scheduling module makes dangerous assumptions about class and
timeslot lengths (e.g. integer hours, non-overlapping) in other places, so
this is not an attempt to fix the general problem, just an attempt to fix
the immediate problem without breaking anything else.

The check in question was designed to prevent scheduling a class into a
start time that was too late for the class to finish by the end of the
program (or the end of a contiguous set of timeslots).  It has been
modified to count time in milliseconds rather than hours.
Add a comment indicating that this is a temporary workaround.
Make tab formatting locally consistent in Scheduling.js
Switch from tabs to spaces in validate_start_time() function
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".
Removes unneeded circles index.html customization
Update README for mailer cron script.
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