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.
Add shared group inclusion backtrace to example metadata.
Improve shared group backtrace in failure output.

- Show all shared group inclusion stack frames,
  not just the inner-most one.
- Make it work for all methods of including
  shared example groups. Previously, it only
  worked for the methods that generate a nested
  group.

Fixes #1209.