Simple port of Class2Go's chat feature

Embed a chat widget (much like the calculator widget) into the
courseware. To use, you must point it at an ejabberd box,
configured as `JABBER_DOMAIN` in the settings.
Move Candy.js files to new vendor/ directory
Remove additional jQuery include

jQuery already available across the whole site at the top level, so
no need to include it again specifically for the chat widget.
Test generation of chat settings

Ensure that the chat connection settings are generated properly for
the template context.
Add setting to enable/disable chat site-wide

To protect against chat blowing things up, we include a way to
enable and disable it on an entire site-wide basis.
Use chat settings when deciding whether to render

Only render the chat widget if both the site has enabled it in the
`MITX_FEATURES` and if the course has enabled it. In addition, fail
gracefully with a log warning if the `JABBER_DOMAIN` is not set, and
do not try to render the widget. However, do go ahead and render the
rest of the courseware.
Internationalize open/close chat messages

Per
https://edx-wiki.atlassian.net/wiki/pages/viewpage.action?spaceKey=ENG&title=I18n+coding+guidelines
ensure that chat messages are properly internationalized.
Raise exception if JABBER_DOMAIN not configured

Rather than checking to see if the JABBER_DOMAIN is not set and
continuing on, bail with an ImproperlyConfigured exception as soon
as we notice its absence.
Use ejabberd's MySQL for usernames/passwords

When chat is enabled, sync user accounts with the ejabberd server
by directly writing into its MySQL database. This is ugly in the
sense that ejabberd just does a simple string comparison when
authenticating a password against a username, so we have to send
passwords in the clear in the templates. In a future commit, I'll
implement a password rotation mechanism to make this slightly more
robust: currently, everyone's password is just a dummy string.

To enable this, you'll have to add a 'jabber' key into your
DATABASES dict in the settings, and point at an actual ejabberd's
MySQL instance. The current plan is to just point at one that we've
got set up, since running ejabberd locally (not to mention on
MySQL instead of Mnesia) is non-trivial.