-- Changed addExpected to finishAfter. This sets the value instead of incrementing, to make the user model clearer.
-- Now use internal check to isCompleted instead of just pending to see if the test is finished and the notification should happen. This does mean that it may not notify until expected tests have been reached, indicating a timeout.
-- changed internal runCleanup function to notifyFinish, better wording
-- revoked earlier change to internally check isCompleted before notifying, as that depends on expected, which means if a test times out, it will never notify of its finish.
-- added test cases to support this change.
-- fixed error in isCompleted that marked a test as completed if expected > total
-- upped version number for publishing.