Improve test tasks

* Move common test task code to method `run_tests`
* Allow passing arbitrary args to `MiniTest::Unit#run` via `ENV['ARGS']`

See single commits for more comprehensive diffs