Support and tests for adding a reset button to units

Users may want to start anew when answering a question. This commit decouples reset from randomization while still preserving backward compatibility. Users can clear their input.
Instructors can set course-wide and problem-specific settings for reset button display.
I've mostly used ddt.data with or without ddt.unpack: https://github.com/edx/edx-platform/blob/master/common/djangoapps/course_modes/tests/test_views.py#L88 and https://github.com/edx/edx-platform/blob/master/common/djangoapps/course_modes/tests/test_views.py#L34