Switch to using MiniTest::Unit

This required only a few changes:

1. `assert_nothing_raised` has been removed; *every* test is asserting
   nothing was raised simply by running to completion.
2. `assert_raise` is `assert_raises`
3. `assert_not_equal` is `refute_equal`
Fix all warnings except `URI.escape` deprecation