MDL-40727 Cache: Fix file cache store on windows.
MDL-29731 Bugs in recent activity when using separate groups
MDL-36399 LTI editing tool config breaks on Oracle.

Note that this fix will fail if the tool URL is longer than 1333
characters.
MDL-40863 feedback and LTI mods need get_extra_capabilities fn

Since moodle/site:accessallgroups is relevant to how them.
MDL-40867 External tools should launch pop-ups from the course page

Without this fix, if an LTI tool is set to open in a pop-up, then
clicking the link on the course page opens another almost blank page,
which then tries to open the pop-up, which is almost invariably caught
by your pop-up blocker.

With this fix, clicking the link on the course page opens the pop-up
directly, like for pop-up resources.
MDL-40867 fix misleading PHPdocs for _get_coursemodule_info
MDL-40857 External tool (LTI) capabilitiy names confusing.

I have improved the names in the language file so that they actually say
what they do (based on my reading of the code). I have also added
comments to access.php explaining each capability.

I have corrected a few of the RISK in access.php which were wrong.

I have changed a couple of the archetypes so that guests cannot launch
LTI activities, and editing teachers cannot do editing things.
MDL-40857 External tool: fix incorrect moodle_url usage.
MDL-40854 fix mod/...:view capabilities

Prior to the fix, if you did not have a capability like mod/page:view,
then you woulds still see the link to the Page activity in the course
section, but when you clicked on it, you would run into a
require_capability error.

It is a principle that we never show users a link to a page they are not
allowed to access, therefore, when users do not have mod/...:view, they
should not see the link on the course page.

This patch implements this in the cm_info class, in a similar way to how
access restrictions by groups works.

It does not assume that the mod/...:view capability exists. If the
capability does not exist, then users are not prevented from seeing the
link.
MDL-40775 mod_feedback - Undefined variable  in feedback activity
MDL-40891 work around make_writable_directory() race condition

You will still get a "PHP Warning:  mkdir(): File exists" but that should not cause any problems on production sites.
MDL-40891 prevent exceptions when creating directories in file store

Even if cache creation fails moodle should continue working.
MDL-40005: LTI module uses Apache specific function for retrieving request headers
Merge branch 'MDL-40854_24' of git://github.com/timhunt/moodle into MOODLE_24_STABLE
Merge branch 'MDL-40727-24' of git://github.com/damyon/moodle into MOODLE_24_STABLE
Merge branch 'w31_MDL-40891_m24_mkdirrace' of https://github.com/skodak/moodle into MOODLE_24_STABLE
Merge branch 'MDL-40878_24' of git://github.com/timhunt/moodle into MOODLE_24_STABLE
Merge branch 'MDL-40863_24' of git://github.com/timhunt/moodle into MOODLE_24_STABLE
Merge branch 'MDL-36399_24' of git://github.com/timhunt/moodle into MOODLE_24_STABLE
Merge branch 'wip-MDL-29731-m24' of git://github.com/marinaglancy/moodle into MOODLE_24_STABLE