Merge pull request #39 from Manishearth/test

Forward test to master
Make webockets a strict dependency
Adds an Event class, which wrapper exposes instead of raw event JSON data.

Adds a test to ensure that all values in a typical message_post event
are added as attributes when that type of Event is initialized.

Uses these classes, and enums instead of magic numbers, in tests and example.

ref #4
Fixes Types.by_value() classmethod