Ember Quiz Stats - Cleanup

All-round cleanup and refactors. Changes detailed below.

Closes CNVS-12947

  - now using parseFloat() instead of multiplying by 1.0
  - guarded against division by zero
  - renamed occurrences of Em to Ember according to guideline
  - Ember optimizations; making use of what it provides in things like
    ObjectController property proxying, array utilities, etc.
  - using @toggleProperty for togglable booleans
  - null return explicitly in controller action handlers to disable
    bubbling
  - dereferences are now only set for methods that are called more than
    once
  - multiple dependencies listed in define([]) broken down into separate
    lines, no commas
  - refactored some of the chart code to make the distinction between
    configurable constants and computed variables more clear
  - in objects that defined them, moved all private/internal methods
    outside of the object API to the closure/define scope so that now
    they really can't be accessed by anybody but the objects themselves

TEST PLAN
---- ----

  - create a full quiz with all kinds of questions
  - take it by a number of students
  - play around with the ember stats page and try to break it
  - watch the console for any errors

Change-Id: Id7931157205767f154c8fc7246926d704a3e4ecd
Reviewed-on: https://gerrit.instructure.com/35560
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Reviewed-by: Derek DeVries <ddevries@instructure.com>
Product-Review: Derek DeVries <ddevries@instructure.com>