add AssignmentGrade, refactor GradeReader and Student
Move all reporting to Reporter, Add FinalGrade, add final_grade attribute for Student