MDL-45565 core_message: Fixed strangers array

Strangers get mixed with noreply user and support user,
if  noreply/support users real user.
To avoid duplication use userid as array index. Also,
avoid fetching data again for noreply and support users,
if they are real users, then data is already feteched.
MDL-45565 core_message: Added unit tests.
MDL-45565 core_message: Reset internal users in phpunit
MDL-45565 phpunit: Changed testsuite_name, so as to avoid class collision
MDL-45654 cron: fixed dataprovider timestamp issue
MDL-45698 behat: Added extra setting, to avoid timout issue
MDL-45698 behat: Fixed behat and symfony versions
MDL-45654 Cron: Fix for unit test that was causing integer overflow in 32 bit php
MDL-37993 Quiz: completion upon all passing grade or attempts exhausted

This patch adds completion options to Quiz similar to what is available in scorm.
One can have the quiz marked complete when either a passing grade is achieved or
all attempts are used up. This will allow a quiz to complete when the user "passes
or fails".  (Where "fail" means "using up all attempts without passing".)