User tracking, room roster updates, and group chat highlight event
Add documentation for component events
Add UserCache and UserCacheItem documentation
Add docs for states
Add 'unknown' as a valid presence string, and implement a reverse lookup (from state value to string)
Further presence handling, keeping track of affiliations, implementation for generating a debug tree for the UserCache, change join event to also include nickname, change groupchat highlight event to also include highlighted string, and connect to 127.0.0.1 instead of a hostname because dnspython doesn't do /etc/hosts lookups.
Some terminology docs
Fix mistake in event documentation
Fix event calls to pass on bare JID objects rather than unicode strings, keep track of mobile number in the UserCache, send SMS notifications when the user is idle, first (failing) attempt at sending e-mail notifications.
Update example configuration file
Use Marrow Mailer
Send e-mails from templates
Also send notifications for PMs
Only send out PM notifications when the user is not using OTR
Improve logging, and allow for mock notifications
Write documentation for the config.json file
Merge in a first version of idle notifications