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 
The subtext of my question, of course, being that I find this surprising, and surprises are to be avoided whenever possible.