Separate API client and tests around using the api client
Spike on not scheduling/unscheduling classes until command returns
Extract local scheduling/unscheduling into a function

back tests for api client
mocked ajax test for api client
Use local variables instead of littering the global namespace
Fix unschedule bug + fix bug with ajax request success logging
ApiClient accepts an error reporter function

Matrix uses this to report errors by logging to the console
Revert "get dev environment working REVERT THIS"

This reverts commit 99df155214e197d9efb6505deca9106f635cc8d1.
Change schedule_section api in preparation to schedule into multiple timeslots
ApiClient supports scheduling into mulitple timeslots

* Refactor timeslots into separate object
Use timeslot manager to get times for multi-hour classes
Unschedule multi-hour sections
Table cells are same size even when table overflows the page
drag helper is same length as class

In hours-- if timeslots are longer than one hour this will behave weirdly
Refuse to schedule classes across day boundaries