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
adding a command-line utility for executing common testing functions
missing delete function on config.
Merge branch 'develop' of github.com:learningequality/ka-lite into redirect_to_force_sync
new katest management command "clean_db"
preventing central-server regret
__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
refactor confirm logic in katest clean_db
Merge remote-tracking branch 'gimick/katest_tool' into katest_tool

Conflicts:
	kalite/management/commands/katest.py
Don't allow people to be invited to headless zones, nor to create any.
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.