rework CalendarEvent.for_user_and_context_codes
rework CalendarEvent.for_user_and_context_codes

effectively the same thing, but build it up in such a way that we can
completely eliminate dead parts, rather than rely on `IN (NULL)` or
`FALSE` not matching anything

Change-Id: Ic479e10bb78ced367ece7dc5fbdfc89e423996d6
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/271710
Tested-by: Service Cloud Jenkins <9144042a601061f88f1e1d7a1753ea3e2972119d@instructure.com>
Reviewed-by: Simon Williams <088e16a1019277b15d58faf0541e11910eb756f6@instructure.com>
QA-Review: Cody Cutrer <c4fe2b1d90ef8f2548c8aeabfa633434316f0305@instructure.com>
Product-Review: Cody Cutrer <c4fe2b1d90ef8f2548c8aeabfa633434316f0305@instructure.com>

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