Allow more test branches in case we need to avoid clashes
Cleans up use of loggers

Includes moving the configuration of `wrapper.log` out of the modules
and into the examples, and ensuring consistent reasonable use of
appropriate dotted-path logger names.

Also modifies example to use the charcoal sandbox and a main() function.

resolves #41
Adds a .text_content property to Event.

resolves #44
Merge branch 'text-content' into upstream-test
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
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
Remove successful OpenID login live test.
It's redundant with our message-related live tests.
Merge branch 'master' into dev-dependencies

Conflicts:
	.travis.yml
	setup.py