Consider dists with no tests as passing

This considers dists without tests (or with only skipped tests) as passing.  It also makes the check for success slightly stricter by checking the exit status.

Includes tests checking this against ExtUtils::MakeMaker, Module::Build, and Module::Build::Tiny.