Don't fail to clean up if test object isn't created.
Fixed version guard for File#reopen spec.
Kill race in TCPSocket specs.

'QUIT' is written to the socket causing the SpecTCPServer to close
the connection. With Rubinius concurrency, sometimes the SpecTCPServer
would close the connection before @socket.shutdown was called, resulting
in the sporadic spec failures. Other times, @socket.shutdown would run
before the SpecTCPServer closed the connection. In MRI, the race is highly
in favor of the spec code and not the SpecTCPServer, so the error is
rarely seen.