move find_or_create_submission to own object

closes CNVS-12576

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: I4c97162589b5fb9cceb0c6cbe9e4fb68dd1f8093
Reviewed-on: https://gerrit.instructure.com/33691
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Josh Simpson <jsimpson@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Product-Review: Jason Madsen <jmadsen@instructure.com>