When the auto-save fails, we alert the user that they may have lost their
internet connection so that they don't do more work that they might just
lose.
1. Make cancelling the delay more robust.
2. Ignore changes in flag state. They are already saved using AJAX.
3. Typo that caused an error when there was no TinyMCE on the page.
1. There is a new admin setting to control whether this feature is
enabled. The admin can set the auto-save frequency to 1, 2 or 5 minutes,
or disable it.
2. When autosave is enabled, there is code in the quiz that monitors the
main quiz form, and does an ajax save call at the given frequency when
changes are being made by the student.
3. The ajax saves go to a new script that calls the question engine to
do the work.
4. To avoid simultaneous autosave + submit and finish, the auto-save
system shuts down shortly before time expires in a timed quiz.