feat(runner): Allow onCleanup to accept a file

Can we reuse `runFilenamesOrFns_` here instead?