MDL-45919 tool_monitor: Add a subscription manager class
MDL-45918 tool_monitor: Rule manager class, unit tests and data generators.
MDL-45918 tool_monitor: Polish the code for rule manager and unit tests
MDL-45938 tool_monitor: Initial version of rule form.
MDL-45938 tool_monitor: Add a yui module to handle event selection dropdown
MDL-45938 tool_monitor: Add support for editing/creating a rule
MDL-46110 tool_monitor: Create renderable and renderer for manage rules page
MDL-46110 tool_monitor: Display a rule managment interface
MDL-46130 tool_monitor: Handle rule managment
MDL-46241 tool_monitor: Create a class that represents a subscription instance
MDL-46111 tool_monitor: Add a renderer for the subscription page
MDL-46111 tool_monitor: Add renderables for the subscription page
MDL-46111 tool_monitor: Update subscription manager class to support the subs renderable
MDL-46111 tool_monitor: Add a UI page to manage subscriptions
MDL-46510 tool_monitor: Add an observer to delete data when course is deleted
MDL-46510 tool_monitor: Add unit tests for the course deleted event observer
MDL-46132 tool_monitor: Add a new message provider
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