MDL-41228 phpunit: Reset message processors list in unit tests
MDL-37028 Integrity check for course modules and sections

If section mentioned in 'orphaned' module does not exist module is added to the first available section. Also corrected whitespaces
MDL-41565 event: Correct inclusion path of observers includefile
MDL-28561 blocks_rss_client: Fixes lines between RSS feed items are not showing in all themes.
MDL-41305 group: Form improvements for group/grouping creation
MDL-41290 SCORM: Improve user report

put descriptions in help popups instead of in table.

AMOS BEGIN
MOV [interactionscorrectcount, mod_scorm],[trackcorrectcount_help, mod_scorm]
MOV [interactionslatency, mod_scorm],[tracklatency_help, mod_scorm]
MOV [interactionsresult, mod_scorm],[trackresult_help, mod_scorm]
MOV [interactionsscoremin, mod_scorm],[trackscoremin_help, mod_scorm]
MOV [interactionsscoremax, mod_scorm],[trackscoremax_help, mod_scorm]
MOV [interactionsscoreraw, mod_scorm],[trackscoreraw_help, mod_scorm]
MOV [interactionssuspenddata, mod_scorm],[tracksuspenddata_help, mod_scorm]
MOV [interactionstime, mod_scorm],[tracktime_help, mod_scorm]
MOV [interactionsweight, mod_scorm],[trackweight_help, mod_scorm]
AMOS END

Move userreport into /report and rename parameters to be more useful

fix overcomplicated parameter handling

remove SCORM 2004 specific reporting of objectives and interactions to simplify page - these will appear in full list of tracking data instead
Also remove duplicated data - the general tracks info is repated 3 times on the page so isn't required.

remove link to player as loading scos this way is problematic

split out user tracks table into it's own file

convert tracks table to flexible table and allow export

add new interactions report

add tabs to allow navigation between reports

force wrapping of track data value even when no spaces

fix some coding guideline stuff
MDL-40471 badges: Fixes around badge capabilities and navigation
MDL-41236 atto - Improving visibility of disabled buttons and making atto match the file manager
MDL-41589 Enrolments: Fixed role unassign confirmation dialog
MDL-40833 Course - Single topic pages need h3 for section heading
MDL-41590 Enrolments: If course is deleted, then use courseid for reference
MDL-38570 administration: Temporary file deletion

Added new function "cron_delete_from_temp" to delete old files and
directories under $CFG->tempdir during cron run. Unit test included.
MDL-29069 Data / Glossary: allow disapproving entries
MDL-29378 Fix regression in the Survey/COLLES P+A module

This basically reverts the commit 5196df589b0fbcead4a0943c8e7b227f8a98c897 that
I believe was a result of misunderstanding of how question type field is
(ab)used in the Survey module. As it took significant time to get familiar with
the overall logic of questions and their processing in the module, I left my
findings in added inline comments. The point is that it is $question->type that
matters. Types of questions listed as subquestions in the multi field is
irrelevant in that case (and all have it set to 1 IIRC).

This patch re-enables the "COLLES (Preferred and Actual)" survey type that did
not work at all due to regression.
MDL-29378 Fix the form display in the Survey/COLLES P+A module

In MDL-7501, we stopped using rowspanning cells in the form table due to
accessibility. That had introduced a regression so in the COLLES P+A survey,
all the rows were displayed with the same background colour. This patch returns
the previous behaviour that each couple of items can be distinguished by the
background colour.

Also, there is no need to display "I prefer that" and "I found that" as a small
text any more. It had made sense in rowspanning layout but not after MDL-7501
was fixed.

And finally, as all items are enumerated now sequentially, there are actually
48 lines, each couple covering one question in two variants. I think it's
correct to reflect this in the description of the form so the text was slightly
amended.
MDL-29378 Code cleanup in the Survey module

While working on the issue, I spotted these two places that were worth of
fixing. The first one is a trivial reminiscence of a previous refactoring,
after which both branches of the if() statement became equal.

The second one is actually a typo as in theory it could generate unexpected
input fields with the name like qPP1. Luckily this never happened due to the
way how survey questions are hardcoded (there are no questions with the type 2
that would require two answers to their subquestions).
MDL-41555 tool_behat: Improving behat & selenium exceptions messages

Also moving the 'selenium not running'
checking to a proper place as it was
not thrown since the homepage start
visit() was introduced.
MDL-41587 tool_behat: Adding site name constant
MDL-41605 Enrolments: Updated unassign role url to use roleid as param

Filter on enrolled users page use role param to perform filtering by role,
and unassign role also contain role param to remove user role in course
which used to conflict. Looking at assign role, we use roleid param, so
using roleid for unassigning as well
MDL-41460 core_component: Validate cache against version.php