MDL-42962 events: Add a abstract class course_module_viewed
MDL-42962 events: Add unit tests for the abstract class course_module_viewed
MDL-42962 events:Remove duplicate code from all course_module_viewed events