Enable tests modules to auto-import all test files in their directories.
simpler user experience for registration; now no recurring refresh, window to close--just a callback url.
central-server-side of redirect.  This also forces the sync to run, with no confusion to see that the device has not yet sent sync data to the central server.
Merge branch 'redirect_to_force_sync' of github.com:bcipolli/ka-lite into redirect_to_force_sync

Conflicts:
	kalite/securesync/views.py
Merge branch 'develop' of github.com:learningequality/ka-lite into redirect_to_force_sync
__unicode__ function must use u'' format strings (see registration app for an example like these changes.
adding tests
making __unicode__ work on unsaved objects; gracefully failing sign() on unsaved objects
unicode tests for main objects
notify user of any errors in saving.
refactoring code to be a bit DRYer, fixing bug in topictree rendering.
refactoring JS code to use better names, common function to show API messages.  Removed outdated logic for view-based notifications, which broke once caching was implemented.
made messages more shared and compact, and made sure related error messages displayed to the same client-side message ID--to avoid multiple messages on the same page, with similar messages.
fix type-o in exercises; make show_api_messages more robust (so that when it blows up, it does so in a more reasonable way.
remove pdb, and debug should be DEBUG
Merge branch 'develop' of github.com:learningequality/ka-lite into __unicode__support

Conflicts:
	kalite/contact/tests/__init__.py
updating error logic in coach reports; adding tests to verify if-then-else logic.
better documentation and code structure, based on self-code review
cleaning missing topics.  Hard problem
fixing bug in looping over children, recovered one missing child.