Pushing devlepment to version 1.2.4
Merge remote branch 'origin/release' into develop
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
Redesigning queueing system to improve performance

This update involves a complete re-working of the queueing system in order to improve performance:
- Removed queue restrictions
- Participants who are currently "available" are no longer assigned before those who are not
- Changes to the system which affect queues done through services other than Sabretooth may take
  up to an hour to come into effect (eg: participant release, editing participants, etc)
- Calling time restrictions are now only reflected on or near the hour
- Merged "available" and "not available" queues
- Queue operations take a fraction of the time compared to before at the cost of operations which
  edit a participant's details being slighly longer (processing load is now distributed)
- Administrators can force-update queues to reflect all changes made across the system (including
  those made from another application, changes to call time restrictions, released participant, etc)
Updating error codes
Removing defunct queue_restriction templates
Tweaking code
Removing defunct sql upgrade file
Removing defunct sql upgrade file
Further tweaking of code
Fixing bug in participant record

If a participant hasn't been cached in the queue yet then they will
not have their current qnaire, start date, etc, available.  An exception
was being thrown when this happened.  Exception has been removed.
Adding cascade rule to role_has_state delete
Merge remote branch 'origin/qa' into release