refactored tests in courseware to draw course info from mongo instead of xmlmodulestore
Refactoring the code in tests.py to remove unnecessary dependencies on the XML Modulestore.
Merge branch 'master' into jnater/playground

Conflicts:
	common/lib/xmodule/xmodule/modulestore/tests/factories.py
	lms/djangoapps/courseware/tests/tests.py
Refactored some of the classes in tests.py to not unnecessarily depend on the XML modulestore.

Conflicts:
	lms/djangoapps/courseware/tests/test_navigation.py
	lms/djangoapps/courseware/tests/test_view_authentication.py
	lms/djangoapps/courseware/tests/tests.py
Removed a unnecessary imports from mongo_login_helpers.py and repeated code from tests.py.
JSinput input type
Add sphinx documentation for jsinput
Remove obnoxious pip file
Addressed pull request feedback.
Merge branch 'master' into jnater/courseware_tests

Conflicts:
	lms/djangoapps/open_ended_grading/tests.py
Merge branch 'master' into feature/jkarni/jsinput

Conflicts:
	doc/public/index.rst
In the middle of addressing pull request comments. This is a safety commit in case I have to revert some changes I'm about to make.
Removed the use of random.choice()
Abort submission and alter user if gradefn throws an exception
Removed run_wrapped() and replaced its functionality with patch.dict():
Updated a doc string.
Removed some unused functions.
Merge branch 'master' into jnater/courseware_tests
Removed some unnecessary imports.
Allow nested object methods for the grade and state functions