Add #to_io and #reopen methods to `StdErrSplitter`

These changes are required to support capturing the `$stderr` stream in a tempfile rather than a `StringIO`. See https://github.com/rspec/rspec-expectations/pull/700 for the rationale.
I think this doc string is a little unclear. What do you think about `it "supports methods that stderr supports but StringIO does not"`?  You could also add a `expect(StringIO.new).not_to respond_to(:to_io)` expectation -- that way it demonstrates that `to_io` is in fact a method that stderr supports but StringIO does not.  Frankly, I'm a little surprised `StringIO` doesn't implement that method to return itself, and I can imagine it supporting it in some future ruby release.  If that ever happened, having the added expectation would be useful to alert us to the fact that we should use a different method than `to_io`.