Grade report celery task and direct file push to S3 from the new instructor dashboard.

Hook up display of grade files ready for download to new instructor dashboard.

LMS-58
UX for Data Download tab on instructor dash

Restrict grade report generation to 'is_superuser' users (can be overridden with
feature flag ALLOW_COURSE_STAFF_GRADE_DOWNLOADS); all staff users can download
generated files.

LMS-58
Fix error case  where we have items in our grading csv output
that are not present in a given student's gradeset.

General code cleanup and addition of comments.

Instructor dashboard API unit tests.

LMS-58
Make ENABLE_S3_GRADE_DOWNLOADS disabled by default, enabled in dev.

Having ENABLE_S3_GRADE_DOWNLOADS enabled by default in common.py
could lead to surprising behavior for folks downstream. They'd
suddenly see a grade download screen on their new instructor
dashboard, but the links by default would be local files and
couldn't be used in an actual production environment. So we disable
by default and let people explicitly enable it and set it up for
S3 if they wish.

LMS-58
more granular transactions in grading [LMS-1480]

remove field_data_cache from grades.grade and grades.progress_summary

cleans grading code by adding wrappers
Merge pull request #1750 from edx/sarina/dormsbee_grades_download

Sarina/dormsbee grades download