Route minion module failures through the event system

A couple changes:

* Added test.assertion for easy testing of this sort of thing

* A small change to the logging system to use sys.__excepthook__ instead of storing the var. (cc: @s0undt3ch )

* Routes module failures onto the minion event bus and then shot back upstream to the master. Routing through the minion should allow us to create a more pluggable system for error streaming, handle masterless, etc, etc.