Support and tests for adding a reset button to units

@jbau @jrbl  to review please

Decouples reset from randomization while still preserving backward compatibility. Users will be able to effectively clear their input for answere questions that they have not submitted and instructors are able to set course-wide and problem-specific settings.

Implementation is in common/lib/xmodule/xmodule/capa_base.py  
Refactored out common constants in common/lib/xmodule/xmodule/capa_base_constants.py
Unit tests in common/lib/xmodule/xmodule/tests/test_capa_module.py
UI acceptance tests in common/test/acceptance/tests/test_problem_reset.py 
Hm, in that case would it be easier for the author to just delete the problem? For the people who haven't completed it, it's the same and it forces the students who did complete it to redo it. In the latter case I imagine it would still be difficult to prompt users to go back to a set they've already completed to do one problem