Fix 1410 and make querystring schema more intuitive.

Fixes #1410 - setting the `?lang` parameter was leading to the next request's language, without the `?lang` parameter to use the previous request's `?lang` parameter value.  Bad!

Also does some querystring arg updates: `set_language` changed to `set_user_language`, and `set_default_language` to `set_server_language`.

Finally, made sure that setting URLs are defined in `base.html`, and used as constants inside the code, so these schema changes can be done in one place.

Testing:
* Tested the `?lang` stuff using the administrative user
* TEsted setting the default language with the admin user
* Did NOT test either of the above cases with a student account, whcih sould be able to have a single-request language via `?lang=`, and set his/her own default language (that persists across logout) while the server has a different default language.