Support for usernames (not uniqued or checked yet), log in/out messages, message timestamps

As noted on AIM, this was just a quick-and-dirty temporary solution. The global key-value object is planned, it just requires uniquing (and canonicalizing to prevent hacky players) names, and I only just got enough code in place to be able to do that now. Patch that redoes most of this RIGHT will come tomorrow-ish. 

Though I am still slightly leery of keeping an outside object in sync. I'm not convinced that we get notified of every possible way to disconnect (especially in hairy network conditions where a connection may be in and out repeatedly)