MSFT sync GraphService refactor (3/3)
MSFT sync GraphService refactor (3/3)

Split up `request` function

For more info see commit "MSFT sync GraphService refactor (1/3)"

Test plan:
- run a sync and make sure it still works

refs INTEROP-6798
flag=microsoft_group_enrollments_syncing

Change-Id: Ia8a81cdeea83afff5d516f20bd2d1293ef240adf
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/267790
Tested-by: Service Cloud Jenkins <9144042a601061f88f1e1d7a1753ea3e2972119d@instructure.com>
Reviewed-by: Ryan Hawkins <867bc579926fa7e8ba296eacccde2d03d9fb556c@instructure.com>
QA-Review: Evan Battaglia <e557ffdfc4b80aab44858030b0ae5370b86cb7b1@instructure.com>
Product-Review: Evan Battaglia <e557ffdfc4b80aab44858030b0ae5370b86cb7b1@instructure.com>

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