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 
This removes the reset button if the student has answered the problem correctly. Is there a use case where, for example, the author messed up the problem definition and once corrected wants to reset students with correct responses or not? I don't know so I thought I'd ask.