Upload CSV file for cohorting students

STUD-735

@andy-armstrong You can start reviewing the front-end changes and tests for this PR. I'll send you an email with some information about the sandbox.

At this point, you can also edit files created in Excel, unless if they have unicode characters in them.
This is subtle, but for some reason I don't think of these settings as being a data model. I think of these as just being options that you would pass to the view when you construct it. Why do you need to make a model for this? You aren't going to update it, fetch it from the server etc? Or am I missing something?