Modify `save` to correctly test whether a field is in _model_data or not.
Tests for Nonetype save bug
Prevent mutable fields from incorrectly becoming dirty.

Fixes a bug in Studio by allowing us to reliably tell whether or not a
field has been explicitly set. Previously, because accessing a mutable
field marked it dirty, it was impossible to tell if a field was
actually modified by a course author.