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.