Possibly fix bug involving the schedule_assignments JSON.

The bug was causing timeslots in jsondatamodule->schedule_assignments to be incorrect (single class scheduled to same event ID across multiple rooms). This may have caused AJAX scheduler to crash in certain cases where a class is scheduled into multiple rooms at different times.
Merge branch 'scheduleassignmentsissue' into ajax_new
A few changes to AJAX scheduler to get syncing working.

First, the AJAXChangeLog is now a model instead of an object stored in memory. This resolves an issue where each process has a different change log, causing desynchronization across clients of different processes (needed for multi-process servers like mpm_prefork).

Second, there are a few changes on the JavaScript side. Assignment after unassignment synchronization issue is fixed so that the latter always happens after the former. Undefined block errors that happen when rescheduling multiple things in rapid succession also appears to be resolved without side effects.

Third, the timing system for change log is replaced with index system. Each new change via the AJAX scheduler results in a changelog entry with incremented index. Client stores the last received index; indexes start from 1 so client-side initial is set to 0.

Other minor things: five-second refresh interval (should be light on server), add debug info to some of the AJAX JSON requests.