initial testing set-up for PersonRace operational data extraction #2600
small fix to mappings for race
added extraction of standard and new type PersonRace records #2600
put race data extraction in the ODEs for PBS eligibility screener, post-natal, and birth
test surveys in support of racial operational data extraction #2600
added PersonRace record extraction to the Pregnancy Screener and Pregnancy Visit Operational Data Extractors, with testing and support
removed class comparisons, replace with explicit domain comparisons
removed unnecessary nils
check for nil
bump version to 1.3.7.pre
Update activity state in PSC #3097

These changes are not intended to make it into the final
version for either #3097 or #3125. This is a spike attempt at
updating the activities in PSC through the UI similar to the
proposed changes for the event workflow in #3125. The
lack of tests shows the 'spike-ness' of this commit.

However, a demonstration for stakeholders requires some of this
functionality to make it to the intended participant state thus this
commit will be tagged and deployed to a private demo instance of
the application.
adapting race operation data extraction to be capable of handling multiple PersonRace records
changing the individual operational data extractors to reflect the change in race operation data handling
test survey work to support testing race operation data extraction
Added scenario for merging responses for new and existing participants. #3146

Conflicts:
	features/step_definitions/merge_steps.rb
Adding missing file. #3146
Some feature tweaks.  #3146.

Specifically:

- Shorten feature name.
- Restore original merge failure heuristic.  (The new
  QuestionResponseSet#inspect method eliminates the need to check for
  "--".)
- Name the instrument's person association.
- Arrange responses by row.  (They're ordered, so might well use
  an ordered structure.)

Remove --.
Print merge log when exceptions are caught.
Invoke #inspect on response_group too, as it may be nil.
Read response set public ID from a Response's source or target.  #3146.

Useful because a response may come from the database or from data sent
by Field.  In the latter case, we have direct access to the response's
ancestry; in the former case, we don't.  However, we still have access
to the response's response set API ID.

With this change, if you instantiate a Response::ModelAdapter around
a Response and then change the adapter's source to some
Response::HashAdapter, then the response set public ID of the
Response::ModelAdapter instance will change.  I think that's okay,
becaues I don't have an example of a situation in which someone would do
that, and this merge code isn't intended to be used as a library.