Merge with 0.10, add support for recording language.
setting language properly on all request
NODE_CACHE nodes can share dict objects with TOPICS.  More efficient, and when you change one the other changes--GOOD.
Adding BACKUP_VIDEO_SOURCE setting, to allow function for streaming videos from an alternate, online source.
Merge branch 'release-0.10' of github.com:learningequality/ka-lite into record_language
Getting language info from data package from client, if available (right now, it's not)
Move towards dict-based string replacement, use online/offline info to show videos.
Merge branch 'release-0.10' of github.com:learningequality/ka-lite into stream_videos_online
Merge branch 'stream_videos_online' of github.com:bcipolli/ka-lite into stream_videos_online
Add back endjs to central template, clean up tabular view template a bit to solve footer issue
fixing multiple import syntax
Merge branch 'release-0.10' of github.com:learningequality/ka-lite into stream_videos_online
tweaks to better show where (facilities) updates are happening
Adding revoked=False for consistency with Device.by_zone
Cleaning out utils/subtitles/, moving around files that don't need to be in utils.
Moving topic_tools from utils to shared
Fix issue 430: use device.public_key everywhere, instead of mixing with getting the public_key from Settings
Using TOPICS to mark videos with stream_url, not NODE_CACHE.  Remove consistency checks from related_videos in exercise; that should be done elsewhere.
Merge pull request #702 from bcipolli/stream_videos_online

Stream missing videos from an online source
@wangguan please let me know if you find other bugs with this branch; merging to move forward on dependent branches (including the caching changes needed here)
Merge branch 'release-0.10' of github.com:learningequality/ka-lite into record_language