refactor and add api documentation for quizzes#reorder

fixes CNVS-8963

test plan:
- reordering questions in a quiz should continue to work
- reordering of questions within a quiz group should continue to work
- try dragging questions out of a quiz group
- try dragging questions into a quiz group
- Try out the API for reordering questions within a quiz
- Try out the API for reordering questions within a quiz group

Change-Id: Ic2b4a839979f54a4a5d98eaaafd09950f57f17b5
Reviewed-on: https://gerrit.instructure.com/26703
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Josh Simpson <jsimpson@instructure.com>
QA-Review: Myller de Araujo <myller@instructure.com>
Product-Review: Derek DeVries <ddevries@instructure.com>
updates to testing ember apps, added ic-ajax

closes CNVS-9707

Change-Id: Id46061d69d7744e201a392c5f55af1e0438f2a3c
Reviewed-on: https://gerrit.instructure.com/26651
Reviewed-by: Aaron Shafovaloff <ashafovaloff@instructure.com>
Reviewed-by: Jason Madsen <jmadsen@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Ryan Florence <ryanf@instructure.com>
Product-Review: Ryan Florence <ryanf@instructure.com>
conversations: add keyclick handler for autocomplete button

fixes CNVS-9136

test plan:
  * open conversations
  * compose a new message
  * focus the recipient field
  * verify that you can activate the button to the right
      using the keyboard

Change-Id: I9cc19ec95f7f1f66668209db2362ba9d5d99a9a5
Reviewed-on: https://gerrit.instructure.com/26597
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Zach Pendleton <zachp@instructure.com>
QA-Review: Matt Fairbourn <mfairbourn@instructure.com>
Product-Review: Zach Pendleton <zachp@instructure.com>
spec: simple cov rcov formatter

Change-Id: I1e21da36433a03efb46e531f3ddceddad95c8fbc
Reviewed-on: https://gerrit.instructure.com/26751
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Kyle Rosenbaum <kyler@instructure.com>
QA-Review: Kyle Rosenbaum <kyler@instructure.com>
Product-Review: Kyle Rosenbaum <kyler@instructure.com>
use rename_index method instead of writing SQL

Change-Id: I0e0bb97273908794ca81a60592be7ac871fa46d6
Reviewed-on: https://gerrit.instructure.com/26681
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Rob Orton <rob@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
spec: selenium ruby jenkins upgrade

Change-Id: I65ec3115175d2cb4a1740d7abc320527b8a41cc9
Reviewed-on: https://gerrit.instructure.com/26596
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Bryan Madsen <bryan@instructure.com>
Product-Review: Bryan Madsen <bryan@instructure.com>
QA-Review: Bryan Madsen <bryan@instructure.com>
Reviewed-by: Shawn Meredith <shawn@instructure.com>
Product-Review: Shawn Meredith <shawn@instructure.com>
QA-Review: Shawn Meredith <shawn@instructure.com>
More accurate Access Report scores for Quizzes

This patch makes it that when viewing the Access Report for a course
student, their "Times Viewed" column will reflect the number of times
the student has browsed the quiz or any of its related resources
(like History, or attempt views), but not taken it.

While the "Times Participated" column will reflect the number of times
the student really took the quiz (1:1 mapping with the number of
submissions.)

TEST PLAN
---- ----

In both test cases, you'll need:
  - a course with a student enrolled
  - one browser session with a teacher logged in viewing the Access
    Report of the student
  - one browser session with the student logged

CASE: Normal quizzes

  - Create a quiz with a few questions and unlimited attempts.
  - Refresh the teacher tab, keep an eye on Times "Viewed" and
    "Participated" columns
  - As the student:
    - Go to the quizzes page
    - Go to the quiz page
  - Refresh the teacher tab, and:
    - ONLY the "Times Viewed" score should be incremented by 1
  - As the student:
    - Push the Take the Quiz
  - Refresh the teacher tab, and:
    - ONLY the "Times Participated" score should be incremented by 1
  - As the student:
    - Refresh the quiz page (while taking it)
  - Refresh the teacher tab, and:
    - NEITHER score should be incremented

CASE: OQAAT quizzes

The expected behaviour for OQAAT quizzes is that the entire attempt
counts as 1 participation, just like the normal quizzes.

Follow the same steps as above, but:

  - While taking the quiz, and for every question page:
    - Refresh the teacher tab and make sure that neither score is
      incremented

OBLIGATORY REFERENCES
---------- ----------

  - Acceptance criteria @ http://docs.kodoware.com/canvas/cnvs-5294

refs CNVS-5294

Change-Id: I55883b8edbf417edb42b9fd103e08369e0e9e63c
Reviewed-on: https://gerrit.instructure.com/26543
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Derek DeVries <ddevries@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Derek DeVries <ddevries@instructure.com>
chat: provide instance guid for quicklaunch

fixes CNVS-9604

test plan:
  * enable minichat for a course
  * verify that minichat still works

Change-Id: I990ebfa5e389e1c19633543be54b1ad01df23799
Reviewed-on: https://gerrit.instructure.com/26628
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Joel Hough <joel@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
Product-Review: Braden Anderson <banderson@instructure.com>
removing unneccessary borderless launch template

the tool_show template already had a mechanism for launching
a tool full screen.

Test Plan:

 * Borderless launches should still work

fixes PLAT-244

Change-Id: Idab2e7f9b61e06c0bfb9e99f0cd70f027b77d147
Reviewed-on: https://gerrit.instructure.com/26728
QA-Review: Nathan Rogowski <nathan@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
Product-Review: Bracken Mosbacker <bracken@instructure.com>
draft state duper specs (part 2)

fixes CNVS-8800

test plan:
 - specs should all pass

Change-Id: I654225809da174d0d7288dba5daf1ee66aa39071
Reviewed-on: https://gerrit.instructure.com/26325
Reviewed-by: Matthew Irish <mirish@instructure.com>
Product-Review: Bryan Madsen <bryan@instructure.com>
QA-Review: Bryan Madsen <bryan@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
spec: clean up selenium ruby jenkins upgrade

Change-Id: I8648110c01ed274c2e2a0e99bbd37df92d737d97
Reviewed-on: https://gerrit.instructure.com/26800
Tested-by: Jenkins <jenkins@instructure.com>
Tested-by: Shawn Meredith <shawn@instructure.com>
Reviewed-by: Shawn Meredith <shawn@instructure.com>
QA-Review: Shawn Meredith <shawn@instructure.com>
Product-Review: Shawn Meredith <shawn@instructure.com>
Updated zh translation
Updated zh translation
TL-249 - No validation message displayed when the user edits an "External Tool assignment" leaving the URL field blank.
move google docs domain restriction to feature flag

fixes CNVS-9686

test plan:
  * as a site admin, navigate to a root account's settings
    page, select the feature flags tab, and verify that the
    google docs domain restriction is there;
  * enable the feature;
  * reload the settings page and verify that there is a
    domain text input in the settings form;
  * verify that if set, the google docs restriction
    prevents users with invalid google docs domains from
    submitting assignments;
  * verify that when turned off, users can submit
    assignments on any domain.

Change-Id: I1078c4d0d6d56e04ee882e1d58e6e1c302cf4caa
Reviewed-on: https://gerrit.instructure.com/26657
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
Reviewed-by: Zach Pendleton <zachp@instructure.com>
Product-Review: Zach Pendleton <zachp@instructure.com>
hide calendar from screen readers

fixes CNVS-5201

test plan
- enable the agenda view
- using a screen reader, ensure that a helpful link to the agenda
 view is provided on month and week views. it should be at the
 beginning of the header and read "Screenreader users: Use the agenda
 to view events"
- ensure the helpful link is not read in the agenda or scheduler view

Change-Id: Ie1c3c7d95e23bdee9892b0085d3a66581eb0d151
Reviewed-on: https://gerrit.instructure.com/25690
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
Reviewed-by: Zach Pendleton <zachp@instructure.com>
Product-Review: Zach Pendleton <zachp@instructure.com>
calendar: added a couple of headings to the new appointment full screen view

fixes CNVS-6607

Test plan:
- Visit /users/NNN/calendar_events/new where NNN is a valid user number.
- Confirm with a screen reader that there is a heading at the beginning of
  the main content.
- Confirm with a screen reader that the text "Insert Content in the Page" is a
heading.

Change-Id: I1c56cdab6d1c929eedad17767e3850af723d6d9a
Reviewed-on: https://gerrit.instructure.com/26677
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Zach Pendleton <zachp@instructure.com>
QA-Review: Matt Fairbourn <mfairbourn@instructure.com>
Product-Review: Zach Pendleton <zachp@instructure.com>
allow ruby 2.0

 * add iconv and syck gems since they are removed from ruby 2.0
   core
 * patch rubygems to provide a stub for a method that rails 2.3 relies on
 * use a ruby 2.0 compatible debugger gem
 * fix DJ to make a before_save not private (the Callbacks modules was
   skipping it, due to
   http://tenderlovemaking.com/2012/09/07/protected-methods-and-ruby-2-0.html)

Change-Id: I661395ca97492c65e12a093d045d35b7c7ffbd81
Reviewed-on: https://gerrit.instructure.com/26599
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Revert "tinymce: don't set "aria-hiddden" for "simple"/HTML view"

This issue is solved in a slightly more forward-compatible manner in a soon to be pushed commit.

This reverts commit e676766800033ca882be0bc6a996ada24c699b8b.

Change-Id: Ib97527147bb13d21fba65c70cfd5d52730266b8e
Reviewed-on: https://gerrit.instructure.com/26575
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Stanley Stuart <stanley@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
Product-Review: Aaron Cannon <acannon@instructure.com>
spec: clean up ruby jenkins upgrade profile_spec.rb

Change-Id: I17f2da35f40cceef7a9976232282cc03bca9870a
Reviewed-on: https://gerrit.instructure.com/26813
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Kyle Rosenbaum <kyler@instructure.com>
Reviewed-by: Kyle Rosenbaum <kyler@instructure.com>
QA-Review: Kyle Rosenbaum <kyler@instructure.com>