Refine referee tests.

These are new tests to make the referee more robust.  Most of these
enhancements are based on watching various students implement the
referee incorrectly while passing all the existing tests.  These new
tests will make it harder for that to occur.
Merging in updated tests.
Now passing new Geisler tests as of 11/12/13