MDL-46088 Impossible to click on Atto in a Quiz in 'Secure' mode.
MDL-46088 Quiz: Prevent alert when clicking in editor in secure popup
MDL-46088 quiz secure window: further Atto JS fixes.
MDL-46987 report_participation: Count duplicate logs as 1

Some of the actions generate more then 1 event.
Example: forum post create generate:
- post_created and
- accessible_uploaded
events which  gets logged at the same time.
Count them as 1 action and not 2, as it is
single action and report should show 1 and not 2
MDL-47316 mod_forum: Fix course overview performance

 make more efficient use of mod_info cache by processing courses
 sequentially.

Change-Id: I03b808c8a7efc42879ec2689fbd2a9fe7a8f1103
MDL-46391 messages: Display search button under contact list.

Add search button to only Message navigation -> Contacts section.
MDL-46054 web_services: bug fix in core_user_get_users

Thanks to Mikko Rantanen for the patch
MDL-46054 web_services: wrong key in exception string
MDL-46054 web_services: Fixed invalid parameter definitions
MDL-46978 gradebook: Edit grade item changes visibility of category
MDL-47301 libraries: Update Typo3 to v4.7.19
MDL-47301 libraries: Patch Typo3 for Moodle's use
MDL-47474 Calendar export: Fix user id in authorization check
MDL-47303 libraries: import latest jQuery library and friends
MDL-47477 libraries: use smoothness theme for jquery ui
MDL-47484 atto_indent: Prevent loss of rangy markers in some cases
MDL-47298 libraries: Update password_compat to latest version
MDL-46295 course: add search box to all course listings, manage button when appropriate
MDL-47481 Availability: Profile condition error if no users
MDL-47426 assign local roles: rewrite query for better performance.

This is an extremely dangerous query, because it includes the user
table twice, along-side two other potentially large tables,
role_assignments and user_enrolments.

The solution is to rewrite the query so that:

1. The subquery is JOINed, not WHERE ... INed. Typically query
   optimisers handle the JOIN case better.

2. Before the join was role-assignments <-> users <-> subquery.
   That is, everything was linked to u.id.

   Now the linking is role-assignments <-> subquery <-> users,
   so the SELECT DISTINT eu1_u.id FROM {enrolled users} is central.
   That seems to send a strong hint to the query optimiser about
   a good order to execute the query.