Adds subclasses for different event types, instead of using an enum.

Adds tests for MessageEdited and MessageStarred event initialization.

ref #46
Remove unused erroneous `import enum`.
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
Merge branch 'master' into HEAD
Fixes test failures resulting from full-hostname-using modifications.

resolves #45
Fixes Travis test command with Python warnings enabled.

ref #45