Deadlines and Assignments

Here is an implemented CRUD for creating assignments that have deadlines. I have also tied the assignment deadlines into ajax.py to enforce deadlines

I think there are a few UI and Info Architecture problems that need to get cleaned up before letting students see this interface.

Basically here is how it works:
- assignments can be created at /runestone/assignments
- An assignment has deadlines, which may or may not be associated with a section
- ActiveCode problems are linked to assignments by an assignment's query var (which should match all but the last section of an ActiveCode ID
- On the update page for an assignment, instructors can add and remove deadlines

Currently there are 3 database queries to check deadlines in ajax.py -- I think this can be reduced to one, but i'm not sure whats a clear way to do that.