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.
Response::HashAdapter#response_set_public_id.  #3146.
Remove unnecessary proc-conversion.
To avoid key conflicts, destroy first and save later.  #3146.
Group responses-for-merge by question and response set.  #3146.
This scenario seems to pass now.  #3146.
Zap many deprecation warnings re: PSC#log.