This fixes the enrollment logic. Also breaks the live update.

Enroll and enqueue are now the same operation - they both put you on the
queue and emit a message to let the system know you're waiting. Then, if
a spot if freed in the respective course, you will be enrolled.
(However, this will not be updated live on the site for the time being.)
Unenroll and dequeue are, as can be expected, also the same operation.