Adds a .reply() method to MessageEvent.

Adds some sugar to test_live_messages to more cleanly express a series
of expected events. Also sends a reply message, and waits to see the
MessagePost and MessageReply events.
Fixes test by only looking for reply's MessageReply event.

It was trying to also look for MessagePosted's event, but the logic
isn't up to handling that.

resolves #47
Adds `make test-coverage`, and add coverage report to Travis output.
Merge pull request #49 from jeremybanks/coverage

Adds `make test-coverage`, and add coverage report to Travis output.
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