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.

Adjust 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, use the
MiniTest::Unit::TestCase class as a fallback.

Also add 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).
tests: remove assert_nothing_raised

Minitest doesn't support assert_nothing_raised. Remove our uses of
assert_nothing_raised by either simply removing the call, or adding
other basic asserts.