MDL-45767: Fixed DB error when returning to course from external tool

The instance ID is not always returned from the external
tool provider.
MDL-45763 question Random qtype should use '0' or '1' question text.

Some time ago, it when from using '0' for no-subcategories to blank.
Change to properly define '0' or '1', update old questions, and make
sure to fix newly restored questions.
MDL-45579 group: Prevent duplicate enrolment keys in course groups
MDL-45579 group: Behat tests to cover group enrolment key rules
MDL-45808 group: Observe the group key policy upon group creation
MDL-44309 Administration - correcting inproperly assigned column classes in environment table
MDL-45761 assign Set inline comment format properly when plugin is empty

If a plugin says it is empty, skip it for for building the inline
comment.

If not format was found in any plugins, set to FORMAT_HTML, which is
the default for feedback anyways.
MDL-20154 questions: question_delete_question should not check perms

By Moodle convention, library functions should not implement permission
checks, they are to be handled by the invoking code.
MDL-20154 quiz: Remove unused random questions

When a random question is removed from a quiz, and it is not
in use elsewhere, it should be deleted.
MDL-35648 adding missing distinct selector in sql on participation report
MDL-45846 Libraries Reinstate custom user agent device detection
MDL-29708 Fixed extra slashes in $string['storedfilenotcreated'].
MDL-29708 Fixed file_exception() arguments in rename().
MDL-44711 navigation: improved expandable course calculation
MDL-45524 navigation: fixed non-expandable node behat tests
MDL-45813 Fix variable name in scheduled task
MDL-45846 Libraries custom user agent device detection unit test added
MDL-45803 mod_quiz: added attempt snapshot for the attempt and preview started events
MDL-45803 mod_quiz: prevented the attempt_started event from being triggered twice
MDL-45729 assign: Fix for assign unit tests

Check the user in the params, not the $USER