Converts the AdminVitals section of the dashboard to the new-style
management look

This breaks down the AdminVitals sections into related sections, and
puts them in expandable sections, so that they take up less space
initially. This will ultimately load each component of the AdminVitals
individually via AJAX when they are expanded.
Merge branch 'main' into ajaxify_dashboard
Partially ajaxifies the list of classes
Finishes AJAXifying the dashboard AdminClass inline template
Adds in the stats JSON view, which is heavily based on the AdminVital prepare function
Implements an AJAXified AdminVitals module, which uses the stats JSON view
Fixes up the caching on the stats function -- dashboard is now fast
Fixes the 'use_rapid_approval' tag in AdminClass
Fixes a slight bug in the 'use_rapid_approval' Tag checking
Set dashboard styling with rapid approval correctly
Makes a few tweaks to rapid approval.

There was a problem with the popup status not getting updated. I
modified the caching of the class_info function slightly. This
didn't actually fix it, since it turns out the problem was with
browser caching, but the change makes sense to keep in I think.

I also modified wording to be unified (chose "Approved" over
"Accepted" in all locations).
Fix bug where there is an extra slash after the host URL
organized and improved schedule checks
retrieve lunch blocks automatically
choose evening (starting >= 7PM) classes as high school only
scheduling checks into a working program module
replaced reporting system with a more flexible one
working html reporter
added classroom type and resource checks
added teacher availability check