Added compiler-tests/eval=? form.

The new form allows writing a suite of tests that compile and evaluate a
program, and compare the output to a given expected result.
Simplified interface to compiler-tests/eval=?.

compiler-tests/eval=? now has tests that consist of only one expr, to be
compiled and eval'd and tested against Racket's own evaluation.
Fixed errant tests.  Added safety match clause.
Added main.rkt: driver for testing whole compiler.

Includes tests for passes 1-7.