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  
@mattdrayer @chrisndodge I have created a new function `get_course_leaf_nodes` in courseware_access.py according to you suggestions to improve speed.