Tests for Nonetype save bug
Modify `save` to correctly test whether a field is in _model_data or not.
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.
Merge pull request #58 from edx/sarina/save-Nonetype-bug

Sarina/save nonetype bug
Reword comment.
Merge pull request #57 from edx/peter-fogg/model-data-bug

Prevent mutable fields from incorrectly becoming dirty.
Update AUTHORS file
Merge pull request #60 from edx/sarina/add-authors

Update AUTHORS file
Upgrade diff-cover to newest version
Merge pull request #61 from edx/sarina/upgrade-diffcover

Upgrade diff-cover to newest version
Change the interface of DbModel to more closely match KeyValueStore

This means we don't have to support all of the methods in dicts without
when we don't have the same support for those methods in the underlying
storage.

[LMS-826]
Make Runtimes and model_datas singleton objects

These both now take XBlocks are the first argument in most methods, and
uses the ids from the block the method is operating on, rather than
baking scope ids into the runtime and model_data objects.

[LMS-827]