Lifecycle/space fixups

This is the start of addressing a bunch of issues.

* Fixes #165 -- stop resetting mock proxies twice at the end of each example
* Fixes #352 -- make test doubles self-destruct after they are torn down.

I'm planning to build on this to address the `RSpec::Mocks.with_temporary_scope` idea brought up in #240 and then build on top of that to provide a better way to do the sandboxing needed by rspec-core's specs.

This can be reviewed and merged before I get to that stuff, though.  I'll keep pushing to it until it gets a review, though.