Don't fail when value is set to nil.

The changes made in 21ba2f9d0 broke SurveyTaker, which expects to be
able to set the value to nil when the response_class is answer.

Also includes a change to the error message to make it more useful
in tests or anywhere the response is not persisted yet.