mattdrayer/api-workgroup-user-check: Ensure no existing workgroup assign...

...ment

In response to PR #4364, this PR introduces a check for a preexisting workgroup assignment.  I opted to handle the assignment validation in the view, versus the model, although I suppose we could shift the logic there if need be.  @martynjames @antoviaque @aboudreault -- take a look and let me know what you think.
@antoviaque  This part confuses me. Is it possible that a user is in multiple cohort or not? We are about to remove completely the multiple cohorts feature but I'm not sure to exactly understand if I can simply assume that a workgroup HAS a cohort and that we just move a user from workgroup to workgroup (thus cohort at the same time.)

CC @mattdrayer @martynjames