Added metadata to messages with full name, role, and affiliation 

I was facing an issue with the replies plugin where long names were getting truncated in the message list and there was no way to back out the full nicks easily. 

This patch adds data-nick, data-role, and data-affiliation attributes to user names in the message pane, just like in the roster pane.

There's one minor catch: recent messages that show up from the server on login arrive before the roster is populated, so those messages are missing role/affiliation. 

Also added a message-wrapper around messages for easier per-message styling. I'd been styling the dd and dt manually but it's quite clunky. Doesn't mess up any markup or anything and it will be a big boon for other per-message event handling and styling that I'm working on next.