MDL-37410 External PHPunit test: used ->getDataGenerator()->enrol_user instead to manually enrol the user. + improve the unassignUserCapability to remove a capability assigned by getDataGenerator->enrol_users
MDL-38471 JavaScript: Migrate moodle-core-notification to use Shifter
MDL-38472 JavaScript: Migrate moodle-core-popuphelp to Shifter
MDL-38473 JavaScript: Migrate moodle-core-chooserdialogue to use Shifter
MDL-38404 JavaScript: Migrate editor_tinymce to use Shifter
MDL-38519 JavaScript: Migrate moodle-core-formautosubmit to use Shifter
MDL-38520 JavaScript: Migrate moodle-core-formchangechecker to use Shifter
MDL-38547 behat: New tests

According MDLQA-1597, MDLQA-1598,
MDLQA-1599, MDLQA-1600 and MDLQA-1601
MDL-38547 behat: New generic steps definitions

For advanced users as specified in the step
description, they can be used to match any locator
using any selector type
MDL-38524 behat: Add fake jsrev and themerev

The behat admin tool does not use moodle database
as it runs before anything else, it should set
CFG->jsrev and CFG->themerev as they are required.
MDL-38344 Calendar: converted name field in event table to text

There is no limitation on length of event name in RFC-2445, so changing type
for name from char to text.
MDL-37676 Use course grade category if mapping fails for manual grade items
MDL-38667 JavaScript: Correct loading of Shifted CSS
MDL-38517 JavaScript: Migrate moodle-core-blocks to use Shifter
MDL-38666 JavaScript: Migrate moodle-calendar-evantmanager to use Shifter
MDl-38494 user: Fix uploaded datetime profile fields
MDL-37602 Add new fields into the workshop table to hold the feature settings

These three fields hold the per-instance settings for the new Overall
feedback feature. Expected values in the new overallfeedbackmode fields are:
0 - the feature is disabled in this workshop instance
1 - overall feedback is optional (default)
2 - overall feedback is required (i.e. the reviewer must put some text
into the overall feedback field).

Files can be attached to the overall feedback text field, if the field
overallfeedbackfiles > 0 and the feature is enabled (i.e. it is optional
or required). The actual number of attached files is not checked in the
required mode (i.e. attaching files is always optional, if it is
allowed).
MDL-37602 Overall feedback can be configured in the workshop settings form

Three new fields are added into the into the Assessment settings section
of the form. The default value for the overallfeedbackmaxbytes is the
same as the maximum size for submission attachments (which seems to be a
reasonable value). If there is a demand and a strong use case, these
values can became per-site configurable (I can see no big benefit of
doing so right now).

AMOS BEGIN
 CPY [maxbytes,mod_workshop],[overallfeedbackmaxbytes,mod_workshop]
AMOS END
MDL-38627 force byteserving abort on error

It is weird, but Chrome PDF viewer keeps retrying byteserving requests for anything but 407. This commit also normalises response headers on all error pages.
MDL-37602 Add feedbackauthorattachment field into the workshop_assessments table

This is a flag to quickly see if some files are expected to be attached
to the overall feedback for the submission author.