Compatible 8.5 updates

This should be fully compatible with the main branch - anything changed is behind a config option. Please double-check that support for season passes is in there, as I had to add it back in after ripping it out.

Changes from last pull:
-badge cap implemented and fixed so it stops breaking uber, then refunded badges were added
-added JSON class stats so you can get the remaining badge number
-user group config option has been added to badge_choice, as well as single-day badge availability and price-change notification (this should stomp on Dom's version, which just does groups)
-Supporter level is brought out to the badge_choice page
-preregbase checks the prereg status every 15 minutes and refreshes the page if prereg is closed or sold out.

That should just about cover it.