coursecat: Created class coursecat, added cache definition and lang string
Added tests for corusecatlib, changed other tests to use coursecat::create() for creating category
usages of make_categories_list() converted to calls to coursecat
deprecated category_delete_move() and category_delete_full(), replaced calls to them with coursecat functions
deprecated move_category(), course_category_hide(), course_category_show()

All usages in core replaced with:
- coursecat::change_parent()
- coursecat::hide()
- coursecat::show()
deprecated get_course_category(), change usage to coursecat
deprecated create_course_category(), avoid direct DB update of table course_categories

changed to usage of
- coursecat::create()
- coursecat::update()
temp commit to make sure categories exist
move function make_categories_list to deprecatedlib

Conflicts:
	lib/deprecatedlib.php