Prevent workflow from trying to create multiple scores for the same user

This updates the workflow status on page load and when the user submits a self-assessment.  This prevents an integrity error that would occur when the rendering views would get-or-create a score for the same student item (triggered from the workflow update).

I'm still verifying the fix in a sandbox, but I thought I'd open this PR for review.  I'm especially interested in how we should handle error conditions from the workflow: if workflow status updates, should we bail or ignore it?  I took the approach that we should ignore it on page load, but report the error on user action, but I'm interested in hearing other opinions.

@ormsbee @stephensanchez