Event hub and Event object. Closes #37.
Plugins can send states to the event hub. Closes #38.
The hub should convert states to events when neccesary. Closes #39.
EventHUB. is an asyncio queue now.
Tests exit on first failure.
Style.
Renamed `send` to `put` to match queue interface.
Better importing.
Subscriptions.
Plugins can subscribe to events determined by filters. Closes #40.
States should persist restarts. Closes #42 and closes #32.
Merge branch 'event_hub' into develop