DO NOT MERGE: Instructor Dashboard Beta Review 1

DO NOT MERGE

This is a refactor and reorganization of the existing instructor dashboard. The previous dashboard still functions and its view has been moved to legacy.py

There are links between the new and old dashboard. The new dashboard has reached almost-parity.

This branch will be rebased (a lot) later.
I'm going to clean up a few things, fix access (instructor/staff), add error reporting, and then talk to @wedaly about a testing strategy given that this will soon be restructured with @marcotuts, @markchang again soon.