In previous commit, the get calls for the QuerySet objects self.students and self.exercises caused QuerySet evaluation on every loop iteration in the __collect_student_grades method. This was not the intended behaviour. Now the data of those QuerySets should be loaded in to memory all at once so there are not too much database query overhead. Note that the memory usage might get high.

Also filtered out submissions in self.best_submissions that were not bound to any submitters anymore.
Merge commit '86f0725f14c54486dee7aba9c9f0dbbdabd39dbd' into results_view_improvement
Changed the wird looking submitters__gt=0 to exclude clause with submitters=None
typo fix
Merge pull request #61 from Rubinous/results_view_improvement

Fixed results view to be faster (in cost of memory) and deal with orphan submissions (submissions without submitter)