MDL-40952 skip only the opcache requirement in environment test

Please note we need other optional extensions and settings because otherwise some tests fail without explanation.
MDL-41094 purge caches only before and after upgrade of plugins

It should not be necessary to purge before/after individual plugins
because caches are disabled during install and upgrade.
MDL-41112 fix theme and js caching info in config-dist.php
MDL-41122: Trim on RSS body to prevent Remote RSS block from failing on valid feeds
MDL-39474 introduce $CFG->debugdeveloper and cleanup $CFG init
MDL-41159 theme: Remove z-index from file manager context menu icon
MDL-41157 calendar: add unit tests for calendar_get_course_cached
MDL-41157 calendar: improve calendar_get_course_cached

The function get_course() introduced in 2.5.1 will use $COURSE and
$SITE to avoid an uncessary DB query, simplifying the logic of this
function and improving perf.
MDL-40709 skydrive: filter files by accepted types

This means images will only be shown in the image picker, videos
in the video picker - etc.
MDL-41191 forum: unit tests for forum_get_courses_user_posted_in
MDL-41191 forum: convert use of deprecated function
MDL-41191 enrol: unit tests for enrol_get_shared_courses
MDL-41191 enrol: fix use of deprecated function
MDL-36002 core: Make drag and drop keyboard friendly (round 2)
MDL-40038 - web services: Added an alternative to using the context id.

Context id is more of an internal Moodle identifier, so we have now included
contextlevel and instanceid in the funciton core_files_external::get_files().
MDL-40038 - web services: Added unit tests for core_files_external::get_files().
MDL-36002 Drag and Drop: Improvements to keyboard drag and drop

List of fixes:
* Add a simulated drag start event to fix problems with block drag and drop that
  were expecting it.
* Add an access-hidden title for the General section in a course format. This
  is used to provide the text for the drop region (better than the first activity in the section)
* Changed the text in the list to 'Move to "General"' instead of 'Move after General'. This
  makes more sense for activities when you have a list of activities and sections together.
MDL-39957 course: replaced the course_created legacy event
MDL-39957 course: added PHPUnit test for the new course_created event
MDL-39957 course: replaced the course_updated legacy event