Improve .gitignore
Add basic routing and plugin structure
Instantiate "static" router type
Move core components to core/

This will allow the plugin import system to function properly.
Add main.py for testing and basic plugin
Add system for "default" routing

For example, the log plugin registers itself as a default, and therefore
receives all events, regardless of type.
Add notify.py plugin