speed up Assignment#representatives
speed up Assignment#representatives

use sets of user ids to check for conditions
rather than calculating intersections on arrays of users

closes #CORE-1254

Change-Id: I77a3d3f683338a2173f9f461f7ddae028d9e4108
Reviewed-on: https://gerrit.instructure.com/146016
Tested-by: Jenkins
Reviewed-by: Cody Cutrer <c4fe2b1d90ef8f2548c8aeabfa633434316f0305@instructure.com>
Product-Review: James Williams  <3a5f4ed991dbfa5c9ef76ad729d240ca12f62180@instructure.com>
QA-Review: James Williams  <3a5f4ed991dbfa5c9ef76ad729d240ca12f62180@instructure.com>

sfu/canvas-lms,sfu/canvas-lms,instructure/canvas-lms,sfu/canvas-lms,sfu/canvas-lms,djbender/canvas-lms,instructure/canvas-lms,instructure/canvas-lms,djbender/canvas-lms,djbender/canvas-lms,sfu/canvas-lms,djbender/canvas-lms,instructure/canvas-lms,instructure/canvas-lms,instructure/canvas-lms,sfu/canvas-lms,sfu/canvas-lms,instructure/canvas-lms