Projected grades in progress page. Tests and some refactoring for grading.

Adds grey bars to represent students' projected progress based on their average performance so far.

Screenshots:
http://snag.gy/wdeWR.jpg
http://snag.gy/nuXtr.jpg
http://snag.gy/953r2.jpg

Also refactors some grading code into helper methods, and creates test cases to test grading code including those helper methods.

@fephsun