Audit Mode Formatter Integration

@mcquin 

Right now I only have the STDOUT formatter tied into the event bus.  I'm going to add the JSON formatter and update this review, but I wanted to get it started.
`controls` is only exposed at the Recipe level via the Recipe DSL.  If a user can write
```ruby
controls "outer" do
  controls "inner" do
    ...
  end
end
```
Then I say that is a bug with our code.  We don't want them able to do that.  We will add a test for this whenever we write tests :smile: 

Originally `ChefExampleGroup` extended `::RSpec::Core::ExampleGroup` and then we used `ChefExampleGroup.new` to rspec-ify our `controls` block.  But it turns out that Rspec does a lot of custom logic in the `define_example_group_method` that is not performed in the `.new` method.  Thats why I stopped subclassing and instead define `__controls__`.

But I didn't want to `define_example_group_method :controls` because that would conflict with my earlier constraint - we don't users able to nest `controls` blocks.  So I added `__controls__` and I'm passing the `controls` block to that.  We won't advertise the existence of `__controls__` to users and if they find it and decide to use an underscore-underscore method themselves, they can go ahead and blow their foot off.

@mcquin and I talked - I'm actually going to get rid of this class and move the control_group defines into the DSL class.