Treat submissions from the list of submissions from every student the same as submissions from a single individual user (student) so they are downloaded the same and processed. Before, it seems like it just didn't care to download submission attachments for single-student-account-only individual submissions. Now, handle both types the same. This means that there are a lot of single-element lists of submissions in the final output if the user is a student, but it makes the code simpler. Could clean up those lists later.
Also, display the different types of errors in fetching submissions.
1. Fixes issues where the program crashes because things like assignment names aren't valid filenames.
Makes the following improvements:
2. Stores assignment files in an "assignments" subfolder.
3. Doesn't make attachment directory if there are no attachments.
4. Organizes course files inside subfolders as created on Canvas (requiring the makeValidFolderPath function to sanitize the path but leave slashes)