refactor SubmissionManager#create_or_update_submission

fixes: CNVS-12587

test plan:
  - create a quiz as an instructor
  - as a student
  - take quiz
  - exercise all paths by which a quiz submission is generated
  - verify that quiz submissions continue to work as before

Change-Id: Ia768a54bcca19750b0e8c701368099cdeb055664
Reviewed-on: https://gerrit.instructure.com/33724
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Reviewed-by: Josh Simpson <jsimpson@instructure.com>
Product-Review: Jason Madsen <jmadsen@instructure.com>