Fix student coach report view to generate granular sub topic data for each lower level sub topic.
Created circles representing the completion of subtopics.
Merge branch 'student_coach_report' of https://github.com/rtibbles/ka-lite into student_coach_report

Conflicts:
	kalite/coachreports/templates/coachreports/student_view.html
	kalite/coachreports/views.py
Revert "add assert to make sure we have Nalanda package activated"

This reverts commit 661881754f1b771d31029be974824f0e430d0bd6.

Conflicts:
	kalite/distributed/views.py
increase query limit for teacher login query test
Branch off from `nalanda-rc3` for initial work to refactor test modules for #2177 so running the tests with `HEADLESS = True` in settings will work.
Some PEP-8 fixes and refactor the browser test asserts.
Add exam mode assert for `browser_login_student()`.
Cleanup comments and logging codes.
Initial fix to override calls to javascript modal dialogs like `alert`, `confirm`, `prompt` because the GhostDriver of PhantomJS does not support it yet.
add the ab_testing app
move ab_testing.{css,js} into the ab_testing app
Merge branch 'nalanda-rct3' into feature/2177-Make-PhantomJS-work-for-headless-tests
Inject javascript codes to override the modal dialog functions for PhantomJS browser.
Use custom `click()` method if using PhantomJS.
Working codes for PhantomJS hacks.
Refactor `control_panel` unit tests to use the `browser_click_and_accept()` method instead.
Skip tests at the `distributed` app which also does not work even on browser tests.
don't have to check the # of django messages on setUp
update text_exercise_mastery to the new mastery model (still failing due
to a bug found making this work!)
make StudentExerciseTest.test_question_incorrect_button_text_changes pass
Merge branch 'nalanda-rct2' into nalanda-rct3
return empty string for browser_check_points when we have no points
Merge branch 'nalanda-rct3' of github.com:learningequality/ka-lite into nalanda-rct3