MDL-43593 Assign editpdf: More robust handling of errors from TCPDF.

This includes a check to see if there are 0 pages in the combined pdf,
catching exceptions and suppressing php warnings and errors from bad pdf files.

Also - Use TCPDF directly to check if pdfs are compatible. The previous check was
letting dodgy PDFs through which then failed at generation time. This way dodgy
pdfs will get run through ghostscript early and cleaned up.
MDL-43440 unit tests Use correct cm identifier in unit tests
MDL-43440 unit testing: Use cmid in unit tests when it should be used.

instance is has been used instead of cmid.  This works as all id's are 1
in most cases, but not always.

accesslib_clear_all_caches_for_unit_testing was updated to clear the
$USER->access cache which would fail test when the wrong user's data was used.
MDL-43369 : quiz statistics - average across attempts where item seen

and not across all attempts for subqs.
MDL-41754 (1) Progress tracking : moved from backup and restore to core
MDL-41754 (2) quiz statistics : using Sam's new progress classes
MDL-41754 (3) quiz statistics : need to escape core_php_time_limit

after MDL-42084 was merged into upstream, introducing
core_php_time_limit, this branch that moved a reference to
core_php_time_limit to a new namespace was broken.
MDL-43027 core progress : new method keeps track of progress internally
MDL-41756 (1) quiz statistics : use new method increment_progress

to cut down on clutter before adding new break down by variant stuff
MDL-41756 (2) quiz statistics : break down question stats by variant
MDL-41756 (3) quiz statistics : test variant stats
MDL-41757 quiz statistics : limit subq and variant stat rows

and print min, median and max.
MDL-39942: invite only users who can post to discuss
MDL-43538 Javascript: Deprecate callback argument to confirm_action

As a precursor to deprecating M.util.show_confirm, this deprecates the
callback argment to the confirm_action class.

This is not currently used anywhere in core, and it's use leads to use of
eval in Javascript.
MDL-43884 database: Fix get_tables() api for external stores
MDL-39617 Add cli backup script for a single course backing up.

Useful for backing up a single course. Accepts parameters:

--courseid=INTEGER        Course ID for backup
--courseshortname=STRING  Course shortname for backup.
--destination=STRING      Path where to store backup file. If not set, the backup
                          will stored within the same course backup area.
MDL-43892 dbtransfer: Fix missing string.
MDL-43886 Javascript: Remove dialouges from the DOM upon destroy
MDL-43893 Javascript: Remove YUI2 uses in group members management JS
MDL-43885 Javascript: Make the [X] button work like 'No' in relevant dialogues

The [X] button on the dialogue is another form of the 'No' button and
should behave as such. In some dialogues this matters more than others
because the dialogue is destroyed.