Add --report-all option for flexibility

By default, only the results of the first run of each test is reported.
With this option set, the results of all runs for the test are reported.
The tests are run one input file at a time, so when this flag is set,
the result of each run for a test will be outputted one after the other
(rather than running all tests once, then running all tests again, etc).
This option was created for the possibility of programs that rely on things
other than standard input.  It is possible that conditions could vary
across tests, that conditions for one test could affect conditions for
another, and so on.
It is turned off by default, however, because this behavior seems rare,
and for efficiency reasons: it is expensive to read through long files,
and so it is better to only read through it once if needed.  This is
particularly true if the program is primarily being run for timing instead
of testing (eg. if the user is already reasonably certain the program works,
or has already run the tests).