[WIP] Audit mode specs

@tyler-ball Here's my work so far on unit tests for audit mode (I have another big file in flight, should be done tomorrow AM). What do you think so far?

\cc @sersut 
Can we either make this a specific exception, or pass a message that we validate, or make sure it is the same instance of Exception?

```ruby
let(:audit_exception) { Exception.new }
...
expect(runner).to receive(:converge).and_raise(audit_exception)
...
it "runs the audits and raises the error" do
  expect{ client.run }.to raise_error(audit_exception)
end
```

I have been bitten too many times in the past `expect(Exception)` and the test passing while a different Exception than what I expect is being raised.