Fix `with_isolated_stderr` so it does not leak.

Without ensure, it leaves $stderr set to a different value.

Fixes rspec/rspec-core#1534.

So that rspec-core issue wasn't actually a problem with rspec-core; it was a problem with this line in an rspec-mocks test:

https://github.com/rspec/rspec-mocks/blob/83c1456d9e9bddcb624b00f636340a837f42e6b2/spec/rspec/mocks/argument_matchers_spec.rb#L209

...which used `with_isolated_stderr`, was wrapping a spot where an exception was raised, and as a result `$stderr` would remain silenced after that.  That in turn cased the exception in the formatter not to be printed to the console like it normally would be.

/cc @JonRowe