Introduce a stable order for input files

With the addition of the per-run wall time limit, the order in which the
cases are run matters, since more complicated cases tend to appear
later. The Runner was using the filesystem order to run the cases, which
is not guaranteed to be stable. This change sorts the input files by
name using a numeric comparator (similar to sort -n) before running to
guarantee a consistent order across runs.