The goal of this project is to provide a common interface for creating scorable XBlocks.  The idea is to clearly specify what a (potentially third-party) block type needs to  implement in order to work properly with the grading service.  Additionally, we would like to create a shared implementation for common behaviors.  Rescoring problems and resetting attempts are two particular instructor management tasks we would like to create a common implementation for.


Phase 1: ScorableXBlockMixin and SXBM.rescore_problem()

Phase 2: SXBM.reset_attempts()

Phase 3: Rescore container blocks