fix CSV uploading GPA scores issue

CSV uploads for GPA Assignments now work correctly,
and update the assignment score and grade.

test plan:

1. Create a GPA Scale Assignment, and assign it a custom grading scheme
   for GPA Grading, such as 4.0 => 100% - 90%, 3.5 => <90% - 80%, etc.
2. Publish the assignment and take it with a few students
3. Score each submission in speedgrader, giving them valid scores (either
    give the assignments valid 'GPA' scores, such as 3.5 or 4.0, or
    give a percentage, such as 70% or 100%)
4. Download the CSV. Notice that the scores are in points
5. Do not touch anything and re-upload the CSV. Notice you get a message saying
   no changes were made, and nothing will be updated (as is expected)
6. Now change the scores on the CSV for the GPA Scale Assignment, entering
   valid scores (If the assignment is out of 5 points, maybe enter 2.0 and 1.0
    as new scores)
7. Upload the CSV. Note that the GPAs reflected in the gradebook are accurate. For instance,
   let's say you created an Assignment that was worth 5 points, and the grading scheme
   stated 4.0 => 100% - 80%. If you entered a 4.5/5 for a student on the CSV and then
   uploaded the CSV, you should now see the student's grade reflected as 4.0 in the
   Gradebook (since 4.5/5.0 points is 90%, which corresponds to a GPA of 4.0).

closes CNVS-12841

Change-Id: Ic8634516a87fe231d1f0990f49063b06fc78641a
Reviewed-on: https://gerrit.instructure.com/43866
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Josh Simpson <jsimpson@instructure.com>
QA-Review: Amber Taniuchi <amber@instructure.com>
Product-Review: Christi Wruck
properly escape possible answers when setting answer title

fixes CNVS-16677

test plan:
  - as a teacher
    - create a quiz
    - add a multiple choice question, for a possible answer add:
      "'><img src=x onerror=prompt(1);>
    - update question and save quiz
    - refresh the quiz edit page
      - you should not see a javascript prompt

    - publish the quiz
    - take the quiz
    - submit the quiz
      - you should not see a javascript prompt

Change-Id: I9fa4eed312d567e8c383e363ceb230b443e29d05
Reviewed-on: https://gerrit.instructure.com/44107
Reviewed-by: Ahmad Amireh <ahmad@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Trevor deHaan <tdehaan@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
ignore permission errors creating a temp directory for rack miniprofiler

Change-Id: I90008cee9c62e1335d7e71940179c7011857c903
Reviewed-on: https://gerrit.instructure.com/44075
Reviewed-by: Rob Orton <rob@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
bump canvas-jobs

Change-Id: I787ea4e49f1196aada27a8f170cb00d52408c6e1
Reviewed-on: https://gerrit.instructure.com/44130
Reviewed-by: Jacob Fugal <jacob@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
fix conferences routes to allow GETs again

for now

Change-Id: I6db47d461961bfc83a8d3d1e6f5c060616879c16
Reviewed-on: https://gerrit.instructure.com/44137
Reviewed-by: Rob Orton <rob@instructure.com>
Tested-by: Rob Orton <rob@instructure.com>
QA-Review: Rob Orton <rob@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
single shard transaction on stream item generation

fixes CNVS-15415

we suspect the accidental use of user_ids when it meant user_ids_subset
(the subset of user_ids local to Shard.current) could contribute to long
run times of this method when user_ids is moderately large and contains
ids from multiple shards. users is a busy table and trying to grab locks
on it unnecessarily is both slow and adverse to other users.

additionally, the only reason for the updates on the users is to
invalidate cache entries; give a little personal space on users that may
have already been updated very recently; it's highly unlikely that the
relevant caches have already been repopulated in those few seconds, and
if they were, a little cache staleness on stream items isn't the end of
the world.

Change-Id: Ibbda9af75aa0e727bd2e7d0a128ee2e3470433eb
Reviewed-on: https://gerrit.instructure.com/44045
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Jacob Fugal <jacob@instructure.com>
QA-Review: Jacob Fugal <jacob@instructure.com>
fix routes issue on forgot_password

fixes CNVS-16791

test plan
 - forgot password should work

Change-Id: I0bbbfe96d569f4fef1f7666edc3ddaa013f698f4
Reviewed-on: https://gerrit.instructure.com/44142
Reviewed-by: Jacob Fugal <jacob@instructure.com>
Tested-by: Rob Orton <rob@instructure.com>
QA-Review: Rob Orton <rob@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>