MDL-34397 TEMP FIX FOR MDL-40830
MDL-34397 Reset cache in API functions instead of tests

- moveto_module() already resets the cache, no need to call reset in the tests
- groups_add_member() and groups_remove_member() must reset cache and tests must not
MDL-34397 Move course content cache to MUC
MDL-34397 Removing references to course.modinfo
MDL-34397 Do not access deprecated field course.modinfo

rebuild_course_cache() now supports resetting cache for multiple but not all courses
MDL-34397 Object section_info calculates expensive data on demand only
MDL-34397 dont write to cm_info properties
MDL-34397 (other issue?) function moveto_module does not modify properties of object
MDL-34397 do not write to cm_info properties
MDL-34397 Properties of cm_info are read-only and calculated on request
MDL-34397 course_modinfo
MDL-34397 Adding the user request cache when static var is not enough
MDL-34397 Save extra DB query since 'enablecompletion' is cached
MDL-34397 Removing references to fields course.modinfo, sectioncache
MDL-34397 Remove ref to nonexisting course.modinfo in MNET auth
MDL-34397 Allow user=-1 in get_fast_modinfo()
MDL-40903 cache: split persistent into persistentloader and persistentdata
MDL-34397 Better caches definition