lib/surveyor/models/survey_methods before_save changed to
before_validation.

This was a callback order bug.  When the access_code is not specified in
the DSL the parse step would work fine as the survey_version scoped to access_code
is unique since the access_code is nil.

If an access_code is specified in the DSL the survey will fail to parse
after the 1st time as the scoped uniqueness validation fails.

The following doc can be referred to for Rails callback order.
http://edgeguides.rubyonrails.org/active_record_callbacks.html