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.
Similar to how you are including the example location for examples, it'd be nice to have it include the hook location.  You can see how I did that recently (at least for rubies that support it) in #1660 (see `AroundHook#hook_description`).  I'm thinking maybe we generalize `hook_description` and define it on the base `Hook` class some how and then use it for the `inspect` output so that the location is included if available?