NNC::Core::Surveyor::SurveyTaker.  #2744.

This is a production-ready (well, maybe) reimplementation of the
SurveyCompletion module used in OperationalDataExtractor examples.
Since survey completion and prepopulation are really two instances of
the same problem, I decided to unify them.

In future commits, this module will replace SurveyCompletion.

This module also introduces a custom scope for Response mass-assignment.
The scope s meant to be used by all Cases code that does mass-assignment
on Responses, but I have my doubts that'll work out.  Feel free to
suggest alternative scope names.

The kitchen_sink_survey.rb file used by the SurveyTaker spec is
Surveyor's kitchen_sink_survey.rb augmented with more reference
identifiers.