Create users upon joining a room

This pull request includes a few things:

* Adds myself to the authors in gemspec
* Refactors how the Callback works. Makes it more extensible by registering event handlers.
* Create a user for each user when joining a room. Helpful for handlers that depend on user identities.