MDL-31356 enrol_imsenterprise: New Features

* Feature 1: Allow nested categories when creating courses.
* Feature 2: Allow updates to course Full Name and Short Name.
* Feature 3: Allow setting authentication type for users.
* Feature 4: Allow updates to users.

Also added tests and updated course update routines so it doesn't
muck with DB directly.
Merge branch 'MDL-31356-3' of github.com:perlwiz/moodle into MDL-31356-3

Conflicts:
	enrol/imsenterprise/tests/imsenterprise_test.php