A substantial commit, mostly refactoring and creating the basic parts of
a training mode. It's not yet all complete, as the editing security
needs to be dependent on the training mode. Testing is significantly
different, as is the database schema for course information. Assignments
have also been moved to the course information system, where they
probably originally belonged.
More work on the training mode, which includes more complete management
of the additional roles and integration of the training mode into those
roles. Completes #42