(merge 3.2) Issue #12400: runtest() reuses the same io.StringIO instance for
all calls

 * Don't force verbose to True with option -W
 * Rename rerun_failed variable to output_on_failure