Tests for audit runner

Includes unit and functional tests

\cc @mcquin @sersut 
No, I don't need to, because the events object is never having anything called on it.  I'm either mocking or expecting anything that is going to call `.events.somethign`.

In the functional tests, I don't want to mock all those calls but I also don't want the event system getting engaged (and logging to stdout, etc.)