Implement Track Changes

@stephensanchez please. I'll be on vacation next week, but @caesar2164 and @stvstnfrd will be around and can handle our end of the PR process.

* Creates "TrackChanges" django model, which ties a (submission_uuid,
  scorer_id) pair to a set of edits suggested by peers for a particular
  submission.
* Adds machinery for on-the-fly installation of the New York Times's ICE
  library for collaborative editing, allowing peer assessors to create
  marked-up versions of submissions, which can then be returned to the
  author as feedback.
* Adds machinery for displaying suggested edits to the creator of a
  submission with their scores and other feedback.
* Configurable within Studio on a per-Assessment basis by including a
  URL to the ICE library as part of the assessment definition.
* For additional details, see:
  https://docs.google.com/document/d/18PITJu133sFpDl_B2GCbo2eb0GODcwVmVsktwPQfVSg/edit?usp=sharing

Co-authored-by: Giulio Gratta <giulio@giuliogratta.com>
Co-authored-by: Steven Burch <stv@stanford.edu>
Co-authored-by: Joe Blaylock <jrbl@jrbl.org>
If you take a look at oa_shared.js, it'd be nice to follow a pattern here that we do for i18n, and other JS libraries that may or may not be available in the platform. This way, if we get to this javascript, it will not fail in an obscure way if ice is not available.