Wait list sec attempt

The main feature this adds is automated waitlisting and moving from "waitlist" to "attending" if the number of seats is increased. This contains a lot of code changes with minimal testing. Please make sure to check the code before giving a +1 or merging!