Merge branch 'MDL-40527' of git://github.com/timhunt/moodle
Merge branch 'MDL-39815' of git://github.com/rwijaya/moodle
Merge branch 'w28_MDL-40537_m26_majorupgrade' of https://github.com/skodak/moodle
Merge branch 'w28_MDL-40450_m26_tinymcebuttons' of https://github.com/skodak/moodle
Merge branch 'master_MDL-20867' of git://github.com/danmarsden/moodle
Merge branch 'wip-mdl-40218' of git://github.com/rajeshtaneja/moodle
Merge branch 'MDL-40441' of git://github.com/timhunt/moodle
MDL-40538 caching: Use isset for performance

isset is much faster than array_key_exists. For caches we need to
ensure as much performance as possible. To all null to continue to
be stored and provide correct results, non ttl also now saves in
$this->store[$key][0].  As isset($this->store[$key]) will return
true in all cases.

time() as found in cache::now() can be slow on some platforms and
we shouldn't bother checking it unless needed. It also stops non-ttl
caches paying the ttl price.

Unit tests were adjusted to ensure null is still handled correctly
when we are only using isset.
Merge branch 'wip-MDL-40593-master' of git://github.com/marinaglancy/moodle
Merge branch 'w28_MDL-40488_m26_admin' of https://github.com/skodak/moodle
MDL-40093: mod/assign: Remove count of drafts in offline assignment's grading summary screen
Merge branch 'm26_MDL-39832_Fix_Chrome_Issues_ETag_XSendfile_2ndRound' of https://github.com/scara/moodle
MDL-40354 groups: Add unit tests for the api groups_group_visible()
MDL-40354 groups: Add new api groups_group_visible()
MDL-40354 groups:groups_get_activity_allowed_groups() should use passed userid to check capabilities
MDL-40354 groups: Fix issues in groups_group_visible()
Merge branch 'MDL-40354-master' of git://github.com/ankitagarwal/moodle
MDL-40449 use data generator to create random qs
MDL-40368 tool_capability: fixed regression marking single result selected
MDL-38366 repository: get_option() returns proper values

Previously, even when a specific setting had to be returned, this method
would return an empty array. Now, the behaviour is the same whether
some options or none are set: if the requested setting is not found
null is returned.