group names are validated to be unique within a course

Group Names have now become the unique identifier for groups,
therefore groups within a course should not have the same name.
A validation rule has now been implemented and system tests have
been written to test the new validation rule.
added some system tests for edge cases

Some system tests have been added to add_simple and student_simple
for testing that negative numbers are not valid. I have also fixed
a bug in simple evaluations for students where they can give group
members negative points.

I have added some system tests to all the import features which
include users import, groups import, and mass move to test that
importing with files of invalid file types will not go through.
I have fixed a bug for groups import and mass move where the user
is redirected to a blank page if a file that is not in a csv or
txt format is imported.
fixed a bug in the api and rubrics results

Detailed rubric results have an invalid index error that has now
been fixed.

The api has a small bug for enrolment where the classlist may not
be complete if any of the ids in user_tutors, user_courses, and
user_enrols tables are the same. This has now been fixed by
using array_merge instead of the union operator (+).
added tests to student_simple, student_rubric, student_mixeval

I have added tests to three of the "student" tests to test
whether evaluation results would be released if a member evaluates
after the instructor has already released the comments and grades.

I have also modified the system base class by breaking up the
logout/login function into two parts so that I can accept the alert
when leaving the rubric evaluations before logging out.