MDL-40096 assign: Prevent js error because uniqid() is not unique.

Use html_writer::random_id instead because it incorporates a static counter.
MDL-43074 assignfeedback_editpdf: Use escapeshellarg for all args in exec command.

This is to fix a reported problem with windows compatibility (e.g. when ghostscript is installed in
a folder with spaces in the name).
MDL-43025 EditPDF: Increase memory limit when reading source pdfs.
MDL-25473 mediaplayer - prevent embedded videos from looping
MDL-43306 restore: fix grade item sortorder restoration

Previously, restore was blindly inserting the old sort order into the
database, causing duplicate sortorders which lead to unpredicatble
sorting results.

Now we will use the api function to add it after the original sortorder,
this means if a duplicate exists in the original location, this item
will appear after it.
MDL-37972 Assignment: fixing settings link for upload single submissions
MDL-43326 Assign: Start new attempt from previous missing sesskey
MDL-34321 Assignment2.2 - Fixing submission count
MDL-36984 Assign: Add redirect after saving grades
MDL-42085 Enrol: Always apply enrolment duration.

Before the fix, the startdates and duration fields were integrated to HTML code only
when the user clicked on the collapsible region to see them.
It was wrong because their values were not sent by the form
if ever the user didn't expand this Enrolment options region.
MDL-40436 block_course_list: Fix bad context resolution

We were trying to get the course context of a remote course
from a completely unrelated ID. It would sometimes work if the
ID was matching the one of a local course. In other places
we are not trying to find a context for the remote course, we
simply use the $PAGE context in format_string. So the usage
of the context has been removed here too.
MDL-43325 JavaScript: Set a default visibility for most Moodle dialogues

We used to ignore the 'visible' field in the initializer, but now we hide
dialogues if visible is false. This was an unintentional change from the
stable API and means that confirmation boxes, alerts, and exceptions are no
longer shown by default.
MDL-43355 testing: Return the hash when HEAD points to a hash
MDL-43348 theme: html <nav> element on the wrong content.
MDL-43062 course: Content of label is left-aligned, regardless of alignment chosen

Conflicts:
	theme/bootstrapbase/style/moodle.css
MDL-43268 fix filter notice when not in debug mode
MDL-42931 set new requirements for 2.7
MDL-34182: Add functions to warn of output in AJAX scripts

We need to be able to capture output when including contributed code as it
may add additional content which makes makes the json we output invalid.

We only warn of these errors if the site is in debugdeveloper, otherwise
we silently drop them.
MDL-34182 AJAX: Change to use shared method when checking the siteadminbranch for invalid output
MDL-34182 Repositories: Check for and warn on invalid output in the file picker