cleaned up discourse_plugin

While working on a plugin, I found some low-hanging fruit.

* fixed whitespace
* added default `@events` hash and default Set.new keys which removes need for explicit checks.
* tried to clarify the plugin mixin search a lil bit.
* added some basic tests
* rearranged the DiscourseEvent spec into three context: nonexistent event, one event, multiple events.

This started as a typo correction so it's cool if I went too far. I fixed the typo, though. :chicken: