central server side: scrub username before saving to be lower.  intercept login requests, try the lcase version, fall-back to the actual-case version
make sure to validate both ways (lowercase, and mixed case), before creating the user
using more standard implementation, also double-validating email (lower and mixed case) in form
removing pdb, changing nervous function call into an assert
Merge remote-tracking branch 'upstream/develop' into case_free_usernames

Conflicts:
	kalite/registration/views.py
Store login as non-lcased form.
Updated topics.py to correctly create the nodecache from latest KA API.

Updated nodecache and topics.py.

Updated Video navigation for new keys.
Bug fix: Khan Academy had removed related videos from exercises data.

Now retrieved via separate API call.
Merge branch 'KA_test_lite' into case_free_usernames
Merge branch 'KA_test_lite' into case_free_usernames
self code-review: removing cruft, adding more comments, cleaning questionable structure
Updated topics.py to correctly download all topic data.

Also now generate knowledgemap data, and download icons.

Missing icons are replaced by the default icon.
Merge remote-tracking branch 'upstream/develop' into case_free_usernames
Merge remote-tracking branch 'origin/KA_test_lite' into case_free_usernames
made usernames keep case, but use the stored case when appropriate.  created test cases to validate code.
Merge remote-tracking branch 'origin/case_free_usernames' into case_free_usernames

Conflicts:
	kalite/central/tests/browser_tests.py
	kalite/main/tests/browser_tests.py
	kalite/utils/testing.py
Script to pull latest Khan-Exercises repository.

KA Lite platform is not currently compatible with latest exercises.
Remove knowledgemap utils - this functionality is now within topics.py
Merge remote-tracking branch 'upstream/develop' into case_free_usernames

Conflicts:
	kalite/central/tests/browser_tests.py
	kalite/main/tests/browser_tests.py
	kalite/registration/views.py
	kalite/securesync/views.py
	kalite/settings.py
	kalite/templates/central/base_central.html
	kalite/utils/testing.py
First pass at converting scatter view to d3.

Original functionality replicated - now with user name hover, as well as click summary tooltip.

TODO:
* Replicate for timeline view.
* As all data has been retrieved through API, only refresh graph on axes change.
* Prettification.