mark test names beginning with "todo", "skip", or "ignore" as "deferred"

- pull the name-based test skipping logic out of the passing check.
  after looking at @tehnomaag pull #18, it was apparent that the nearby
  testname-based logic for skipping a test only worked if the test was
  passing anyway.