GUI fixes / Archiving removed courses

1) Added an "Add New Course" button to the top of the list of courses.
2) Assignment tables are now automatically sorted by name and can be sorted by the other columns as well.
3) MyCourse has an identifying string that is used to sort the list of course buttons. This identifying string is also used to create the file name. getIdentifier() is the function to get this.
4) Remove menu and button menu both automatically sort when the program is loaded or a new course is added.
5) When adding a new course, it uses identifier string instead of course name, since a professor may want multiple courses with the same name, but with different other identifying information.
6) When a course is removed, it is now archived in "gradebooks/archives"

There are a number of other things that have been modified, but they're mostly touch-ups and not actual feature implementations.