Generate description before mocks are torn down

Doubles depend on a valid instance of RSpec::Mocks::Space
when they're used in generated descriptions, so this
ensures that the Space is not torn down until after the
description is generated.

This also fixes an example which assumes the example description will
be the "example at ..."
generated one, but that is only used when either the user is not using
rspec-expectations or no expectation has been made in the example. It passed
because during the example, `RSpec.configuration.expecting_with_rspec?` was
returning `false` (due to our sandboxing setting RSpec.configuration to
a new configuration instance) even though we are using rspec-expectations
and the example set an expectation.

Since that predicate returned the wrong value, it would cause the generated
description to not get cleared properly, leaking it into other examples.

By forcing `expecting_with_rspec` to true on our sandboxed config, it
makes that predicate report the truth, which in turn makes our
interaction with rspec-expectations work properly in our specs.

This, in turn, allows me to keep the `clear_generated_description`
call to where it belongs -- in the `assign_generated_description`
method.