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.

The first commit in this pull request adds a backwards-compatible function to Minitest::Test for assert_nothing_raised, since Minitest doesn't support that assertion.

The second commit in this pull request removes all uses of assert_nothing_raised in thread_safe.