Pushing devlepment to version 1.2.4
Replacing unsafe sql commands in upgrade scripts

Now that the cenozo database isn't necessarily "cenozo" there were
some SUBSTRING commands in the sql upgrade scripts which were no
longer valid.  This commit replaces them with the safer REPLACE
command.
Merge remote branch 'origin/release' into develop
Merge remote branch 'origin/qa' into release
Found better way to determine cenozo database name in sql script

Instead of relying on string replacements the cenozo database is
being found using the role_has_operation table's foreign key constraint
to the role table in the cenozo database.
Merge remote branch 'origin/release' into develop
Converting schema to workbench version 6.0

The new version of MySQL Workbench writes schema files slightly
differently.  Also, some index names have been fixed.
Replacing participant.status with new state table

Participant conditions (states) can now be managed by administrators and
each role can be restricted to only setting certain states.
NOTE: this commit does not include the UI code to enable editing of states.
Replacing participant.status with new state table (completed)

Implementation of UI elements.
Tracking changes to participant email addresses

- email addresses are now validated using simple word@word.word validation
- any change to a participant's email address is tracked by date and time
- a new email report has been created which provides a list of all participants with new email addresses