Support emitting analytical events from xblocks running in the LMS

XBlocks can and should use the "publish" method provided by the runtime to emit analytical events. In theory we could now start replacing calls to track_function with calls to publish, however, that migration is not handled by this change.

Fixes: AN-789
fix raw grade dump in standard instructor dashboard
Added test and cleaned up code formatting
Review based changes
Converting class method and attributes to private
Merge pull request #2613 from edx/bugfix/ichuang/idash-raw-grades-dump

fix raw grade dump in standard instructor dashboard
Merge pull request #3089 from mulby/gabe/publish

Support emitting analytical events from xblocks running in the LMS
this will allow for clientside javascript reporting
Merge pull request #3109 from edx/jarv/upgrade-newrelic-agent

this will allow for clientside javascript reporting
Add datadog metrics logging for django model creates, updates, and deletes
Skip video test that is failing in master
Merge pull request #3111 from edx/zoldak/skip-failing-tests

Skip video test that is failing in master
Actually push json parsing all the way down to the bottom of the GradingService get and post methods
Merge branches 'ora-metrics', 'comment-client-metrics' and 'model-metrics' into cale/test-metrics