Abstract Grade

Added the AbstractGrade folder which contains an abstract implementation
of the Grade object. This was done to allow for more accurate
projections of a user's final mark in the specific course.

Needs to be tested thoroughly.