Rebase of Pull Request #645: Small fixes from Chicago and MIT

Rebase of #645 onto post-schema-simplification main.  See that pull request for more discussion.

I believe the only outstanding issue on the original pull request was reported by @pricem:
> I checked with lottery student reg. The heading 'Walk-in Seminars' is hardcoded, and only the 1-letter symbol (i.e. first letter) of the category is considered in the JavaScript code for determining which class sections go under that heading. Otherwise, it does properly track any changes you make to the open_class_category Tag. I think this is fine; should we require an exact match with the chosen category, in case multiple categories have the same symbol? (That could also be confusing if classes are assigned to a different category than the user expects, causing walk-ins to not be displayed separately.)

This has not been fixed yet, and I'm not sure I know enough about LSR to fix it easily; does someone else want to take a look?  It looks like the place where it's hardcoded is at esp/public/media/scripts/lottery_student_reg/student_reg.js:95.  It's also still hardcoded in esp/public/media/scripts/onsite/ajax_status.js:705; again, if someone more familiar with onsite's javascript could take a look at the former, that would be great.

I've also added one extra commit, 8d417fd, which allows the url in various QSD template tags to be a template variable; the functionality was (I think accidentally) removed in the schema changes and breaks some of the parts of the teacherreg page due to differentiation with walk-in classes.  I put it in this pull request since some of the changes herein don't really work without it, I think.