Consolidate how birth related contexts determine prefix #3327
Re-added @q.result for json/csv

A recent commit removed the result variable from 
the index action which was used later in the 
method when rendering json/csv
removing error-causing helper code inclusion

I included methods from application helper to
help decided which instrument context method to 
call with a specified MDES Version. I included 
them, however, at the wrong (large) scope level 
which was causing opaque inheritence bugs. I've 
temporarily duplicated the one method I was 
pulling in until I can implement comparison on 
MDES::Version (ticket #3545).
resolved mdes version comparison #3545

Implementation of the comparator on Mdes::Version
didn't work out the way I thought, so I scrapped
it and went with a simpler approach, copying the
one line of logic in the duplicated method into
the conditional. Not ideal, but not that bad 
either.
removes PpgDetails from participant #3550

Included the removal of ppg_details (and its 
auto-generated ppg_status_history) from the 
participant in #make_ineligiible.
private methods should be private #3550
Merge pull request #70 from NUBIC/task_3545_implement_comparator_on_mdes_version

resolved mdes version comparison #3545
Merge pull request #68 from NUBIC/bug_3327

Consolidate how birth related contexts determine prefix #3327
Merge pull request #71 from NUBIC/bug_3550_eligibility_adjudicator_does_not_remove_ppgdetails_for_removed_participant_records

removes PpgDetails from participant #3550
Fixed work address prepopulator for new labels. #3029
Fixed specs to better represent reality. This also addresses #3566
Use a small batch size when loading instruments. Closes #3589.

This reduces the amount of memory required for the instrument
transformer to run because fewer Instrument instances remain reachable
after being processed.
NcsNavigator::Core::Surveyor::SurveyTaker.  #3500.

This is a production-ready 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.

This module also introduces a custom scope for Response mass-assignment.
The scope is 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.

Subsequent commits will adapt the SurveyCompletion module to use
SurveyTaker.
Use SurveyTaker in ODE and RSP specs.  #3500.

The shim around SurveyTaker#respond in SurveyCompletion is quite a mess,
but it minimizes changes.  Further fixes welcome.

This commit also fixes a few errors in test surveys:

* RACE_1_OTH questions with answers whose response classes that didn't
  match the actual instruments
* incorrect reference identifiers in the birth visit surveys
* incorrect reference identifiers in the postnatal survey

Finally, this commit deletes four examples in the PregnancyScreener ODE
that deal with different date formats.  The examples were deleted
because date parsing is not the ODE's job; that's the job of whatever is
sending values into Surveyor's datastore, i.e. Response#value=.
Update InstrumentContext spec to use SurveyTaker.  #3500.

This commit also brings reference identifiers in associated test
surveys into sync with what's in the actual instruments.
Remove SurveyCompletion for Contact spec.  #3500.

It's not used.
Update Participant spec to use SurveyTaker.  #3500.
Update SampledPersonsIneligibility spec to use SurveyTaker.  #3500.
Merge pull request #66 from NUBIC/task-3500

Introduce NcsNavigator::Core::Surveyor::SurveyTaker and use it in specs
Fix reference identifier to correspond to question in 3-month instrument. #3580
Commit #3577 - fixed the root and suffix extraction for specimens and samples that don't satisfy the format with dash.