Add better `inspect` output for ExampleGroup

Pull Request for #1590 

The only problem I ran into was that the syntax error in the after hook test produces error output while running the spec (the test still passes).

> An error occurred in an `after(:context)` hook.
>   NoMethodError: undefined method `expcts' for #<RSpec::ExampleGroups::SomeClass_3 after(:context) hook>

This is definitely not ideal because it could distract from problems with "real" after hooks. The only two options I could up with were: 1) remove the test, or 2) add a way to suppress that error. I'm interested in your thoughts on the best way to handle this.
> I was overriding it to prevent @__inspect_output from being re-assigned here and here.

Ah, that makes sense.  It would be good to have specs that covers this (showing that `before_context_ivars` does not include `@__inspect_output` and another showing that `@__inspect_output` isn't nil'd out).

Anyhow, my suggestion is to define a class method like `ExampleGroup.instance_variables_for_example(group)` and use that.  That will avoid defining another method in the user scope, allowing the `"minimizes the number of methods that users could inadvertantly overwrite"` spec to pass.