mattdrayer/api-course-avg-release: Account for ungraded students

Updated the course average calculation to account for enrolled students who have not yet registered a score, and therefore do not yet have entries in the gradebook. We assume zero for their grades in this case and perform a simple mathematical adjustment to the average. I also updated the main courses/metrics/grades operation to use the same model method to ensure consistent responses across both calls.

@chrisndodge, @martynjames, @ziafazal , FYI on this PR now (correctly) targeted for the release branch
Just a note here that there are a couple of seemingly unrelated things in the courses views/tests part of the PR due to the way I brought the changes over from the master branch.