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.
TODO: ensure this part works with sqlalchemy (or.... ignore it for this merge, or ignore it until we need it again)