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.
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
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
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
Merge remote-tracking branch 'upstream/develop' into case_free_usernames

Conflicts:
	kalite/coachreports/api_views.py
code review updates, testing updates.
Merge remote-tracking branch 'ruimalheiro/passwordrecheck' into case_free_usernames
updates to test procedures, now that we have case-free usernames we have to be pretty careful
two missing fixes
Fix contact bug.  Drop into debugger with failfast=True while testing.  Fix registration form bug from code review mishap.