optimize comment loading in assignment.speed_grader_json
optimize comment loading in assignment.speed_grader_json

In investigating a slow load report, an N+1 was discovered when adding
comments to the json_blob that speed_grader_json returns. Preloading 4
levels of objects eliminates the N+1 and increases load time,
resulting in a better user experience.

fixes CNVS-28915

test plan:
 - Regular speedgrader regression tests, specifically comment related ones

Change-Id: I2b9e4915f522d3ad3b13468d5081c0c2ed0e7f9b
Reviewed-on: https://gerrit.instructure.com/77750
Reviewed-by: Shahbaz Javeed <6692d7be3fa215e5483a121d6fb314def6049877@instructure.com>
Reviewed-by: Derek Bender <d24d8a7ee520e34b1cec38800225d9f36b552df7@instructure.com>
Tested-by: Jenkins
QA-Review: Amber Taniuchi <ef4bfd1e6d278f6bc7d4a478f02be2cb9581a0a5@instructure.com>
Product-Review: Christi Wruck

djbender/canvas-lms,roxolan/canvas-lms,roxolan/canvas-lms,grahamb/canvas-lms,sfu/canvas-lms,fronteerio/canvas-lms,sfu/canvas-lms,SwinburneOnline/canvas-lms,djbender/canvas-lms,HotChalk/canvas-lms,grahamb/canvas-lms,venturehive/canvas-lms,HotChalk/canvas-lms,fronteerio/canvas-lms,roxolan/canvas-lms,sfu/canvas-lms,grahamb/canvas-lms,fronteerio/canvas-lms,djbender/canvas-lms,fronteerio/canvas-lms,HotChalk/canvas-lms,sfu/canvas-lms,SwinburneOnline/canvas-lms,roxolan/canvas-lms,sfu/canvas-lms,venturehive/canvas-lms,SwinburneOnline/canvas-lms,venturehive/canvas-lms,grahamb/canvas-lms,sfu/canvas-lms,djbender/canvas-lms,sfu/canvas-lms,venturehive/canvas-lms,grahamb/canvas-lms,HotChalk/canvas-lms,SwinburneOnline/canvas-lms