Add LmsKeyValueStore.update method

Refactor new set_many and update XBlock version number.
First pass at implicit saves.
Save position should actually save the position.
Provide MongoKeyValueStore.set_many
Switch publish to using the field_objects in the model_data_cache.
Fix the factory to save after modifying the module.
Fix contentstore tests and fix some bugs.

Add `save`s in to fix failing CMS tests
Update CMS grading tests
Fix common tests and test-helpers.

* Fix some bugs in xmodule and some tests.
* Add tests for error cases in the keyvaluestore.
* Add in some module_render tests
* Refactor xqueue_callback to make it more testable.
* Clean up test helpers.
Update XBlock version
Pylint violation fixes
Delete unused code and test for that code.
Make code work with new modulestore.