I agree, but that part of the code is a direct port from backports. I modified a few things, but in specific places for good reason. I'm not sure what implications changing that would have (although I am writing code that relies on `RSpec::Core::Random.srand`, which presumably gets on the singleton here).

I'm not sure how many changes should be made to the ported code. I'm going to restructure the commits to make it more obvious what my changes were to the original backports code.