Fix scheduling checks

I didn't find many errors so this is a fairly small pull request.  The scheduling checks view is quite slow but the main reasons for the slowness (e.g. ClassSection.unsatisfied_requests()) are hard to work around.  I did eliminate about 20% of the queries with some changes to the fetching of class sections, but it can still take a couple of minutes to run everything.

Interesting fact: I can only load the scheduling checks for Splash 2012 with the debug toolbar disabled.  With it enabled, my 32-bit Python interpreter runs out of memory.