MDL-45758 tool_monitor: Handle rule managment

Original issue - MDL-46130
MDL-45758 tool_monitor: Create a class that represents a subscription instance

Original issue - MDL-46241
MDL-45758 tool_monitor: Add a renderer for the subscription page

Original issue - MDL-46111
MDL-45758 tool_monitor: Add renderables for the subscription page

Original issue - MDL-46111
MDL-45758 tool_monitor: Update subscription manager class to support the subs renderable

Original issue - MDL-461111
MDL-45758 tool_monitor: Add a UI page to manage subscriptions

Original issue - MDL-46111
MDL-45758 tool_monitor: Add an observer to delete data when course is deleted

Original issue - MDL-46510
MDL-45758 tool_monitor: Add unit tests for the course deleted event observer

Original issue - MDL-46510
MDL-45758 tool_monitor: fixed typo

Original issue - MDL-47152
MDL-45758 core: edited get_formatted_help_string to accept string parameters

Original issue - MDL-47152
MDL-45758 tool_monitor: added help icon renderer

Original issue - MDL-47152
MDL-45758 tool_monitor: added help icon for subscriptions

Original issue - MDL-47152
MDL-45758 tool_monitor: added help icon for rules

Original issue - MDL-47152
MDL-45758 tool_monitor: add missing alt on manage icons

Original issue - MDL-47460
MDL-45758 tool_monitor: Add a new message provider

Original issue - MDL-46132
MDL-46132 tool_monitor: Modifiy manager classes to return instances
MDL-46132 tool_monitor: Add a adhock task to send notifications
MDL-46132 tool_monitor: Add a universal event observer

This observer does the following task:-
1) It monitors all events and stores relevant data in a temporary table
2) It doesn't write the events straight away, it buffers them, so there is only one db write per request
3) It calculates and sees if there are subscriptions related to those events who need to be notified
4) If there are such cases, it generates the message to send and schedules a adhoc task for the same
MDL-46132 tool_monitor: Add unit tests for the universal observer
MDL-47376 tool_monitor: Add observers to handle user and module deletion