Makes the headers in the scrolling list of open classes stay in place
Changes to AJAX scheduling scrolling behavior

Fixes #444 by making the outer .matrix-body the scrollable element
(rather than .matrix-cell-body). Also removes some Javascript that
used to handle the positioning of the row and column headers when
the .matrix-cell-body was scrolled.
Fix commit number in comment
Saves the scroll position in the scrolling list of open class
Makes an option for the class changes grid to show class titles

When the "Display only class numbers" checkbox is unchecked, class
titles are displayed below clsas numbers, so volunteers can use
Ctrl-F to find classes by title.
Moves display options for the class changes grid to the top of the page
Makes the student selector in the class changes grid stay on the screen
Make password reset links activate account
Add a begin time to AnnouncementLinks

Add to Entry as well, because even though those are unused, it will
still generate errors if we don't add it.  The field is
highlight_begin, in correspondence to highlight_expire.
Adds the migrations for 98323e6.
Fix whitespace being added when editing QSD inline
Merge pull request #494 from luac/lua-qsd-edit-whitespace

Fix whitespace being added when editing QSD inline
Merge pull request #492 from benjaminjkraft/annlink-begin

Add a begin time to AnnouncementLinks
Merge pull request #490 from benjaminjkraft/passwd-activation-fixes

Make password reset links activate account
Merge pull request #445 from learning-unlimited/lua-issue-444

Changes to AJAX scheduling scrolling behavior
Merge pull request #477 from learning-unlimited/garywang_onsite

Changes to onsite class changes grid and scrolling list of open classes
Merge branch 'main' into issue239
Removed some more hardcoded email addresses.