MDL-38147 added event changesincourse
MDL-38147 replaced function coursecat::get_all_ids() with coursecat::get_tree()
MDL-38147 coursecat: bug fix in caching contexts
MDL-38147 Added function coursecat::get_children() to retrieve subcategories

Caching results, sorting categories, retrieve only those that are displayed. Added tests
MDL-38147 Added function coursecat::search_courses(), get_courses()

Also search_courses_count(), get_courses_count()
- MDL-38147 attempt to preload course contacts