Merge pull request #3655 from edx/opaque-keys-common-lib-xmodule

Opaque keys common lib xmodule
Responses to comments on https://github.com/edx/edx-platform/pull/3539

Conflicts:
	common/lib/xmodule/xmodule/modulestore/locations.py
Merge pull request #3651 from edx/opaque-keys-xmodule-lib-cleanup

Responses to comments on https://github.com/edx/edx-platform/pull/3539
Validate the args to SSCK
fixed asset search query.
moved location_to_son to LocationBase.py.
Merge pull request #3657 from edx/opaque-keys-access

Don't fetch the course just to find out if the user has access to it.
Revert StudentModule.module_state_key to field rather than computed property
Merge pull request #3645 from edx/opaque-keys-student-module

Opaque keys student module
Merge pull request #3659 from edx/opaque-keys-validate

Opaque keys validate
Merge pull request #3658 from edx/opaque-keys-location-to-son

Opaque keys location to son
Fix missing field access
Merge pull request #3661 from edx/opaque-keys-mod_key

Opaque keys mod key
Use ddt decorators as specified in doc.
Merge pull request #3662 from edx/diana/minor-ddt-fix

Fix ddt decorators
Fix delete cache so it also deletes location with run = None.
Merge pull request #3668 from edx/opaque-keys-fix-cache-content-diff-runs

Fix delete cache so it also deletes location with run = None.
Fix discussions by correctly serializing outgoing course_ids
Fixing ORA
Merge remote-tracking branch 'edx/master' into opaque-keys-merge-master

Conflicts:
	cms/djangoapps/contentstore/views/item.py
	cms/djangoapps/contentstore/views/tests/test_container.py
	cms/djangoapps/contentstore/views/tests/test_tabs.py
	common/lib/xmodule/xmodule/modulestore/mongo/draft.py
	lms/djangoapps/certificates/management/commands/gen_cert_report.py
	lms/djangoapps/certificates/queue.py
	lms/djangoapps/certificates/views.py
	lms/djangoapps/courseware/module_render.py
	lms/djangoapps/courseware/tests/test_module_render.py
	lms/djangoapps/instructor/views/api.py
	lms/djangoapps/instructor/views/instructor_dashboard.py
	lms/djangoapps/instructor/views/legacy.py
	lms/djangoapps/shoppingcart/tests/test_models.py
	lms/djangoapps/verify_student/views.py
Resolve merge conflicts relative to master