Add even-odd benchmark.

Add a new even-odd benchmark that exercises mutual tail recursion.
Note that it is important that both "even" and "odd" are called from
the main program; if only "even" is called, then the Contify
optimization will move both "even'" and "odd'" to their one return
point and turn the tail recursion into a local loop.
Update benchmark iteration counts.

Increase the benchmark iteration counts so that all benchmarks run for
at least 15 seconds (for amd64-linux on an "Intel(R) Core(TM) i5-3570K
CPU @ 3.40GHz").

Added an "update-counts.sh" script to calculate appropriate benchmark
iteration counts.

Ideally, the benchmark iteration counts should be loaded dynamically
at the time the benchmark suite is executed (rather than being
hard-coded into the benchmark suite executable).  Then, it would be
easier to calibrate appropriate benchmark iteration counts for
different machines.
Generate uniquely named benchmark files for each compiler.

Generate a unique .sml file for each benchmark for each compiler
(derived from the benchmark name and compiler abbreviation).  In
particular, allows running the benchmark suite with "-keep {ssa,g}"
flags for mlton without later compilers overwriting the output from
earlier compilers.
Consistent abbreviations for MLKit and Moscow ML.
Proper benchmark output for repeated '-mlton' arguments.

The code to display the benchmark output would index the benchmark
data by the "compiler" field (which, for "-mlton" arguments,
corresponds to the command line).  A benchmark test with multiple,
identical "-mlton" arguments (for example, to check run-time variance)
would generate distinct benchmark data, but improperly display the
benchmark data.

Instead, index the benchmark data by the "abbrv" field (which, even
for identical "-mlton" arguments, will be distinct).
Update benchmark iteration counts.

Increase the benchmark iteration counts so that all benchmarks run for
at least 30 seconds (for amd64-linux on an "Intel(R) Core(TM) i5-3570K
CPU @ 3.40GHz").
Merge pull request #70 from MatthewFluet/benchmark-infrastructure

Updates to benchmark infrastructure.

Highlights:
 * Add `even-odd.sml` benchmark that exercises mutual tail recursion.
 * Add `update-counts.sh` script to calculate appropriate benchmark iteration counts and update benchmark iteration counts so that all benchmarks run for at least 30 seconds.
 * Updates to benchmark driver program.
Merge branch 'master' into refactor-arrays