More data on the dashboard: #733, #842, #854

The class status popup (#854) now contains most of what's in the class reg email. It doesn't have resource requests (classroom types, etc.), because those add a lot of clutter and seem unlikely to matter before scheduling.

The "Categories" section of the dashboard now has a class-hours column (#733), and there's a new "Grades" section (#842). I changed the behavior of ESPUser.getGrade() to get that to work: it now calculates what grade a student was in for old programs.