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 strikes me as a little odd. Do we really want to return this raw error back to the UI to have it displayed? We normally show a very generic 'server failed' message so that it can work in all languages.  What kind of exceptions were we hoping to catch here?

I would probably just not catch this Exception and let the normal Django error handling kick in.