various minor fixes

I grepped the code for all of the ``TODO`` comments I've left while doing my refactorings this year and fixed or created tickets for all of the ones that should be done before prereg launches.
Added some documentation here.