CSV Reporting of Shopping Cart Purchases, with tests

squashing to one commit to make cherry-picking by feature possible
Update open-ended tests to load the module between 'requests'

Under normal operation, XModules are reloaded on each request from a
student. CombinedOpenEnded modules have code that runs at initialization
that validates the students state. These changes makes that code run
during several long-form unit tests (testing CombinedOpenEnded across
multiple 'requests').

These tests are marked as expectedFailure because they now exhibit the
same failures as observed in [LMS-1493] (namely, the students state gets
reset, because CombinedOpenEnded interprets system.ajax_url raising an
error as meaning that the problem definition and the student answers are
in conflict)
Move xmodule_runtime.xmodule_instance registration earlier

This allows XModules (specifically CombinedOpenEnded) to use ajax_url
during their init functions (which would, before, have thrown an
exception).

[LMS-1493]
Merge pull request #1726 from cpennington/hotfix-fix-OEE-ajax-url

Fix LMS-1493
Allow colons in Locator fields.
Merge pull request #1742 from edx/ned/cherry-pick-pr-1740

Ned/cherry pick pr 1740
Update course_navigation.html

The tab names are not being translated
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
Clean up test files, no substantive changes.

These changes prepare for the changes to the tests that are coming, but
make no change to the behavior themselves.
Add two tests of problems-with-files

One test passes already, the other fails.  Fix in next commit.
Properly convert files from Webob to pure files.

Webob represents uploaded files as cgi.FieldStorage objects.  The
XModule code expects pure Python file objects.  Each FieldStorage object
is wrapped to present the proper file interface, with file names.

LMS-1492
Merge pull request #1753 from edx/ned/pr-1745-lms-1492

Ned/pr 1745 lms 1492
more granular transactions in grading [LMS-1480]

remove field_data_cache from grades.grade and grades.progress_summary

cleans grading code by adding wrappers
Tests for LMS-1532
Clear out the cache xmodule_instance after an exception in XModule init

This guarantees that the ErrorModule will be created, instead of
potentially using a partially instatiated broken module. Fixes
[LMS-1532].
Merge pull request #1750 from edx/sarina/dormsbee_grades_download

Sarina/dormsbee grades download
Add release notes for 061a46beefd2318d711b790f9a6cc9f9e832b2b1, concerning change to beta-tester groups