Add methods that facilitate testing

Adds a method to add a temporary subscriber that only subscribes for the
duration of the block. This makes it easy to add mocks as a subscriber
to ensure that your events are getting dispatched as expected.
Cleanup per PR comments.

* Move methods into classes rather than 'testing' file
* Add RDoc comments
* Expand/reformat tests
Merge pull request #14 from jmoses/better-testing

Add methods that facilitate testing