Stop accidentally defining RSpec

See https://github.com/harvesthq/time-warp/pull/6 for more info.

That was out-of-date and included a huge diff due to the stuff that's now handled by https://github.com/harvesthq/time-warp/pull/13

The non-whitespace diff of that PR is pretty simple: https://github.com/harvesthq/time-warp/pull/6/files?w=1, and that's what's recreated here.

Credit given to the original author.

/cc @mrsimo @bjhess 
We're using `defined?(MiniTest)` to check for < 5.0  and >= 5.0 minitest's, when they're different modules (`Minitest` vs `MiniTest`).

Also, in the hypothetic case that stuff changes in the future, it's possible that we define classes that we don't want because we just check for the main module. Maybe we should change the checks to

```ruby
if defined?(Minitest::Test)
...

if defined?(MiniTest::Unit::TestCase)
...

if defined?(RSpec::Core::ExampleGroup)
...
```