Add generic dejagnu support for running benchmarks.

Adds a generic framework for running the benchmarks.  Have updated
the existing run.exp script (just run the benchmarks) to use the new
framework, and have added perf-stat.exp (uses the kernel perf counters
to measure instructions) and have rewritten measure.exp as
mageec-wand.exp to use the new framework.

ChangeLog:

	* beebs.test/measure.exp: Deleted.
	* beebs.test/mageec-wand.exp: New file.
	* beebs.test/perf-stat.exp: New file.
	* lib/beebs.exp: New file.
	* beebs.test/run.exp: Update to use beebs.exp support.
Use global env in mageec-wand.exp.

Need to access the global value of env in order to see the environment
variables.

ChangeLog:

	* beebs.test/mageec-wand.exp (beebs_cleanup_after_all_benchmarks):
	Pull in global env.
	(beebs_setup_before_benchmark_run): Likewise.
Restore the beebs_run_benchmark procedure.

The beebs_run_benchmark procedure was not being set to call
default_beebs_run_benchmark as it should.

ChangeLog

	* lib/beebs.exp (beebs_restore_default_procs): Restore
	beebs_run_benchmark too.
Merge remote-tracking branch 'tjteru/master' into dejagnu3
Update new dejagnu to handle newly split benchmarks.

Benchmarks are now split, so one binary per directory.  This commit
updates the dejagnu work to reflect this.

ChangeLog:

	* beebs.test/mageec-wand.exp (beebs_setup_before_benchmark_run):
	Rename to ...
	(beebs_setup_before_benchmark): ... this.
	(beebs_cleanup_after_benchmark_run): Rename to ...
	(beebs_cleanup_after_benchmark): ... this.
	(beebs_cleanup_after_benchmark_run): Update, use benchmark not
	filename to identify results.
	* beebs.test/perf-stat.exp (beebs_run_benchmark): Update
	parameters.  The filename is now a full path, use as such.  Use
	benchmark, not directory to identify results.
	* lib/beebs.exp (default_beebs_filter_benchmarks): Renamed to...
	(default_beebs_filter_benchmark): ...this. Rename parameters.
	(default_beebs_setup_before_benchmark): Add filename parameter.
	(default_beebs_cleanup_after_benchmark): Add filename parameter.
	(default_beebs_setup_before_benchmark_run): Deleted.
	(default_beebs_cleanup_after_benchmark_run): Deleted.
	(beebs_get_benchmark_files): Deleted.
	(default_beebs_announce): Remove directory parameter.
	(default_beebs_run_benchmark): Likewise.
	(beebs_run_all_benchmarks): Remove calls to deleted functions.
	Assume only one binary in each benchmark directory.  Update
	parameters on remaining calls.
	(beebs_restore_default_procs): Reorder procedures.  Update
	parameters.
Merge pull request #18 from T-J-Teru/dejagnu3

Merge in changes to support running the benchmarks using dejagnu.
Restore use of ENERGY_DATA in mageec-wand.exp.

The environment variable ENERGY_DATA used to control the placement of
the results file from the energytool script.  The last commit lost this
ability, this commit brings it back.

ChangeLog:

	* beebs.test/mageec-wand.exp (beebs_setup_before_all_benchmarks):
	Restore use of ENERGY_DATA environment variable to control path to
	output file.
Initialise variables, and turn of strict-aliasing.

A few benchmarks cause gcc to raise strict aliasing warnings, which we
ask to have reported as errors (-Werror).  For these benchmarks I've
turned off strict-aliasing, rather than try to rewrite the code to avoid
the warnings.

There's a bunch of variable initialisation added to avoid more compiler
warnings.

In one case, ludcmp, I've increased the size of a global array.  The
compiler is warning that the code might access beyond the bounds of the
array.  Without spending more time looking at the code I can't tell if
the code is wrong, or just really smart and so we know that the accesses
are all fine.  Given that the sizes involved are all very small I've
just increased the sizes of the global arrays to prevent the warnings.
This is a HACK, but if we assume the code is correct then my change has
done nothing but waste a little memory.
More work on script
Merge branch 'master' of https://github.com/mageec/beebs into stoil