Asynchronous download button for ORA2 data

Includes management command and instructor dashboard button which gather all open assessment response data for a given course in a user friendly format and output it as a .csv

WIP finished collect_ora2_data management command, wired it to instructor dashboard UI, still needs to have logic factored out and exposed in instructor_analytics.basic

Remove extraneous print statement

Refactored sql querying logic into instructor.utils and wired the html button and management command to it there

Added comments to several methods

Added optional output_dir argument to collect_ora2_data management command and default behavior to write to stdout

Simplified code structure in management command and comments per jrbl's PR comments

Responded to jrbl's style comments, added test reference to check endpoint, and parameterized database name from django.conf.settings

Removed reference to django.conf.settings['DATABASE'] in favor of django's natural default

Removed extraneous import and whitespace per overlooked jrbl comment

Factored db connection logic into common/djangoapps/util/query.py

Whitespace changes

This implements a celery-ized button for downloading ORA2 responses via the instructor data download dashboard.

WIP finished collect_ora2_data management command, wired it to instructor dashboard UI, still needs to have logic factored out and exposed in instructor_analytics.basic

Remove extraneous print statement

Refactored sql querying logic into instructor.utils and wired the html button and management command to it there

Added comments to several methods

Added optional output_dir argument to collect_ora2_data management command and default behavior to write to stdout

Simplified code structure in management command and comments per jrbl's PR comments

Responded to jrbl's style comments, added test reference to check endpoint, and parameterized database name from django.conf.settings

Removed reference to django.conf.settings['DATABASE'] in favor of django's natural default

Removed extraneous import and whitespace per overlooked jrbl comment

Factored db connection logic into common/djangoapps/util/query.py

Whitespace changes

First stab at conversion to celery command from synchronous version

WIP Converted ora2 report to asynchronous/celery format, still needs integration with progress table and proper S3 key.

Implemented unit tests for instructor api, integrated ora2 celery job with pending tasks table, and cleaned up code for pylint

Removed extraneously included file from commits

Added more unit tests and reformatted whitespace

Fixed PEP8 violations, replaced pylint disable codes with string representations, and improved brittle unit test

Reformatted long string and removed extraneous redirect from javascript

Conflicts:

	common/djangoapps/util/query.py
	lms/djangoapps/instructor/tests/test_api.py
	lms/djangoapps/instructor/views/instructor_dashboard.py
	lms/djangoapps/instructor_task/api.py
	lms/djangoapps/instructor_task/tasks.py
	lms/djangoapps/instructor_task/tasks_helper.py
	lms/djangoapps/instructor_task/tests/test_api.py
	lms/djangoapps/instructor_task/tests/test_tasks_helper.py
	lms/envs/aws.py
	lms/envs/common.py
	lms/static/coffee/src/instructor_dashboard/data_download.coffee
	lms/templates/instructor/instructor_dashboard_2/data_download.html

Resolved additional merge conflicts