Improved test script.

* Now uses Test::Most to terminate on first failing test (if Test::Most
  is not installed, give user an indication of how to install it).

* WORKAROUND: Test::More 0.94 seems to have a bug (corrected in 0.98) in
  which done_testing() is not called automatically at the end of
  subtest()s. Test script now tests whether done_testing() is invoked or
  not, and overrides subtest() to include it if it is missing.