ziafazal/api-fix-bug-progress-tab: fix progress

@mattdrayer @martynjames @dsego 
1) Fixed progress value by using total modules in the course as denominator. 
2) Changed completion avg to percentage. We have to change it on apros accordingly
3) Fixed bug in serialiser which was causing multiple calls to `auth_user` in CourseModuleCompletionList as reported by @chrisndodge  
I'm a little concerned about the nested looping going on here -- is there a way to optimize this code using some sort of filtering or matching trick?