MDL-38661 Course: Add JS category expander.

This adds a category expanded which:
* fetches child content in a category tree if it has not already been loaded;
* toggles relevant classes on the category node to show and hide child content; and
* applies appropriate animations to improve user experience.
MDL-38594 page-course-category is replaced with page-course-index because page has moved
MDL-38594 temp
MDL-38594 adjusting base and standard
MDL-38594 added missing clearing coursecat cache
MDL-38594 themes