Handle multiple events and versions of surveys #2888
Also addresses #3536
Correct schema version.

20130306200153 is the latest migration. It appears that the commits
that introduced 20130306200153 and 20130301164426 were merged in the
reverse order that they were created. The schema changes for both are
present, but the declared version is the earlier one.

The result is that `db:reset` puts the database in a state where the
changes from 20130306200153 have been applied but the migrations table
doesn't reflect it. This means that the tasks that won't run when
there are unapplied migrations (e.g., `db:test:prepare`) tell you to
run the migrations. But when you run the migrations 20130306200153
fails because the column it tries to add already exists.
consent_form_type_code is _CL3. #3531.
Re-namespace code list loader. Done with #3531.

This puts it with the other MDES-related business.
Manage manual code lists in a separate file. Closes #3531.
stub! doesn't work with any_instance.

See https://github.com/rspec/rspec-mocks/issues/57 . Between RSpec
2.12 and 2.6 using stub! with any_instance started throwing
exceptions. However, according to that ticket it never actually
worked. So this stub line was unnecessary. (It if were necessary, the
test would fail without it.)
Rephrase specs to avoid using `empty?`.

These specs started failing when RSpec was updated to 2.12.0 from
2.6.1. FWIW, It would pass up to 2.10.1 and fail on 2.11.0.

Closer inspection, however, shows that based on AR's behavior they
should have always failed. Calling `empty?` on a has_many :through
assocation that has not been loaded yet always looks at the database.
This is true even if `.build` has been called on the association to
add something to the collection without saving it.

Demo gist: https://gist.github.com/rsutphin/4aa38ef2f44236a4b6a2

So the real question is, why did this spec ever pass? There must be
some behavior difference between RSpec 2.10 and 2.11 that resulted in
the association being loaded, making `empty?` work correctly. Much
trawling through diffs for rspec-rails, rspec-expectations, and rspec-
core did not yield any useful hypotheses about what this change might
be. Since it's not an RSpec bug, though, I'm satisfied to just
rephrase the specs in an equivalent way that does result in the
association being loaded.
Set event when instrument is built so it exists before prepopulator run. #3619 

That fixes invalid determination of the event type when prepopulated questions are evaluated.
Added a comment on the start_instrument to indicate that event has to be set on the instrument before response_set is created. #3619
MDES 3.1 isn't unsupported anymore. #3175.

At this instant, MDES 3.2 isn't supported. But I'm not changing it to
that because it needs to be supported immediately (#3468).
Merge pull request #82 from NUBIC/bug_3619

Set event when instrument is built. Closes #3619.
Merge pull request #81 from NUBIC/3531-consent_form_type_code_list

Complete use of CONSENT_TYPE_CL3 for ParticipantConsent#consent_form_type

Looks like a fine change.
Merge pull request #78 from NUBIC/task_2888

Handle multiple events and versions of surveys #2888
Birth institution only created when answered in pregnancy visit instrument(s). #3489

Previously birth institution could be created when "Don't Know" or "Refused" are entered for birth location.
Birth institution only returned when answered in pregnancy visit instrument(s). #3489

Previously birth institution extraction could fail when "Don't Know" or "Refused" are entered for birth location.
Create birth institution record if type and name exist. #3489
Method is not used.
Removing unused optional parameters and clarifying institution type resolution. #3489
Comment on why no intitution is created at birth. #3489
Clarify comment. #3489