Fix metadata backwards compat to handle deep nesting.

This is a bit confusing, but the behavior in 2.x was:

* a group's `metadata` did not have it's computed
  keys directly available; they were exposed off of
  the `:example_group` subhash.
* The `:example_group` subhash had a `:example_group`
  key that exposed the parent group's metadata
  (both user metadata and computed keys).

Before this, we were inserting extra `:example_group`
subhashes between the layers.
Fix another bug in metadata backwards compatibility.

In RSpec 2.x, an example's `metadata[:example_group]`
did not returned it's example group's `metadata`,
but rather it's example group's `metadata[:example_group]`,
which is where all the computed values for the example
group went.

In RSpec 3, we've simplified this nesting structure
(it's silly to put an example group's computed
properties on a nested subhash keyed by `:example_group`),
but our backwards compatibility didn't work properly with this.

The problem was that `example.metadata[:example_group][:example_group]`
returned the `LegacyExampleGroupHash` available off of
`example.example_group.metadata[:example_group]`, which contains
the computed properties of the example group, but on 2.99 this
returned the computed properties of the parent group of the example's
group.

Unfortunately, I had to make one spec pending as I can't find
a way to keep it passing with the difference in how the
metadata is exposed from an example vs a group, but it really
only matters when people mutate the metadata hash and that's
not a normal, supported use case.  I think the backwards compatibility
is more important right now.  We may revert this at some point
after 3.0's been out for awhile and people have had time to
adjust to the deprecation warnings issued for the metadata changes.
Merge pull request #1490 from rspec/metadata-regression

Fix a regression in our metadata backwards compatibility