Reify shared example groups as a first-class type.

- Allows us to provide pretty `inspect` output, which
  is far better than the anonymous module output we
  normally get.
- Simplifies the creation of the shared example group.
  Previously each group instantiated a module and defined
  `included` as a singleton method.
Merge pull request #1753 from rspec/reify-shared-example-group

Reify shared example groups as a first-class type.