tests: switch to minitest

Ruby 1.9+ uses Minitest as the backend for Test::Unit. As of Minitest 5, the shim no longer supports Test::Unit::TestCase.

This pull request adjusts the thread_safe test suite to support Minitest 5's syntax.

Minitest versions 4 and below do not support the newer Minitest::Test class that arrived in version 5. For that case, this pull request uses the MiniTest::Unit::TestCase class as a fallback.

This pull request also adds a backwards-compatible function to Minitest::Test for assert_nothing_raised, since Minitest doesn't support that assertion. Eventually the use of assert_nothing_raised in thread_safe ought to be removed in favor of something better (such as more specific asserts).