Add student submission reports, management and dashboard functionality

@jrbl If you wouldn't mind taking a look.
But of course, I could be wrong. It would be fun to write both ways and then get timing information on it to test. My gut says the crossover point will be somewhere around 1000 students, but it could be much earlier for courses where the students have very many submissions.