Create generic manage.py tools infrastructure

* Move certificates/ toplevel under tools/
* Create tools/aws directory
* create aws_getinfo target, which gathers information about the hosts
  in our host groups for use in system startup and configuration
Check in candy components for chat support

* Add candy chat system components for serving from static/
* Proptotype candy component delivery to /course/handle/chat
* Introduce JABBER_DOMAIN variable and document it in
  database_example.py
Initial chat on course home page demo prep

* Embed candy page in iframe on course home page above announcements
* Customize Candy CSS to fit into the look and feel of class2go somewhat
  more
Chef configuration to install ejabberd

* Chef cookbooks for installing ejabberd and doing simple configuration
Fixes to ejabberd recipes and courses/views

* Rewrite of ejabberd installation recipes to avoid wiping mnesia tables
  unless this is a first-time install.
* Also, recipe uses octal mode notation only (strings removed)
* Also, template for ejabberd defaults file is actually a template
* Fix in courses/views to use hasattr instead of getattr
Making mnesia table destruction safer
Merge pull request #2384 from Stanford-Online/jrbl-tps_reports_prototype_2

Jrbl tps reports prototype 2