Looks for all possible message fields on every MessageEvent.

As discussed in #53, the fields depend on message and not more
specifically on event type as I had been assuming. This prevents some
possibly crashes, such as when a message goes down to 0 stars
(triggering a MessageStared event but without a message_stars field).

resolves #53
Adds support for editing messages.

Wrapper now has an `.edit_message(message_id, text)` method.

MessageEvents now have an `.edit(text)` method.

It's possible that bad things might happen if you call this on a message
you can't edit; we don't have any handling for those errors and might
get stuck in an infinite loop failing to make an edit.

resolves #54
Remove successful OpenID login live test.
It's redundant with our message-related live tests.
Adds a bounded deque of .recent_events to wrapper, as mentioned in #51.
fix merge conflict
Swap IDs of MessageMovedIn and MessagedMovedOut, per personal testing.
Merge pull request #55 from Manishearth/test-manish

Use actual hostname
Merge pull request #56 from Manishearth/test

Swap IDs of MessageMovedIn and MessagedMovedOut, per personal testing.
Initial implementation of Message class.

Made .wrapper a mandatory attribute of Event.

Updates tests a bit (probably need more work) to ensure that messages
are deduplicated between Event instances. We access the content of a
message's parent, which is only available because it's been cached.

ref #51