fix a2 student bug & only do one submission query
fix a2 student bug & only do one submission query

this fixes the bug I just introduced to a2 student view but it also
fixes our code to use the same query result we already were querying
the db for instead of issuing a new query for the submission

and it also fixes a bug where if the student didn’t have permission
to :read_own_submission or :read_grades (read their own grades)
that they would still get shown the submission

test plan:
* as a student, go to courses/x/assignmets/y
* you should be able to see the part where you submit the assignment

Change-Id: Iba155bcf3b841ddaf94d3bcb450fbdddd8fbd99f
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/218336
Tested-by: Service Cloud Jenkins <9144042a601061f88f1e1d7a1753ea3e2972119d@instructure.com>
Tested-by: Jenkins
QA-Review: Matthew Lemon <7bd6faf60934a850234395b3b97cb1fc9250fa11@instructure.com>
Reviewed-by: Ryan Norton <65299b45178f94900ff304765e8fbf07bd13b331@instructure.com>
Reviewed-by: Matthew Lemon <7bd6faf60934a850234395b3b97cb1fc9250fa11@instructure.com>
Product-Review: Ryan Shaw <ea3cd978650417470535f3a4725b6b5042a6ab59@instructure.com>

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