THE BIG MERGE, part 2: magfest 8.5 branch into main branch

WIP, obviously this needs a ton of discussion/etc

Around end of July we merged the applicable parts of master-magfest85 branch into master.  Since then there have been a bunch of small fixes and other things that should go into 'master'.

There are also some changes here that should not go into master, such as fixes for groups/etc.

Once this merge is done, the 8.5 branch will go away and we will have only one 'master' branch for uber.
https://github.com/magfest/ubersystem/commit/a0b0c1d1c612c863fdd345e90a22d184b1a3873a

Add is_expired property
Fixes the 500 internal server error for logging in after resetting
password.