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.
Create new tests for contest model

These tests are the beginning to ensure the contests are created
properly.  There are more functionality tests needed (e.g., ensure two
contests with the same name cannot be added), but the basics are in
place now.  This will provide a nice basis to ensure the contests are
written properly.
Initial routing tests.

These are starting to check that the proper routes have been defined.
The routes already should have been there, but this just
double-checks.  This could be more helpful down the road if we don't
define all the REST-ful routes, but depend on a subset.
More sophisticated validations of referee and contest

These tests make sure we are not putting bad values into the referee
or contest.  They are more complicated than the previous tests because
they consider the application logic and not just existence of data.
For example, the contest deadline must be in the future and the start
of the contest cannot start before the deadline.  There are several
other similar validations like this that just make sense when thinking
about the values that can be stored for these entities.
Fix illegal dates test.

There was a bug that had the illegal dates getting set up wrong, so
that start would be earlier than deadline and so it was possible to
find these dates as illegal via the wrong mechanism and still have an
error in them.  Fixed with this commit.
Use Timecop for making time work "properly"

By freezing time, we will be sure that the times we set for tests
doesn't advance before the tests against those same times execute.
Timecop simply makes sure that the time looks like it is fixed at some
point in time.  Now all references to now will return the same value
since time won't be advancing and things will "just work."

Possible Conflicts:
	Gemfile
	Gemfile.lock
Player model tests.

These tests check that the player model can properly keep track of all
the values that it is given.
Initial player tests.

These are a very good start to getting player tests written and are
based largely on the tests for the other models.  I'm sure there will
need to be additional tests written as we find unique use cases for
this model that we haven't really tried to consider, yet.
Tests for matches.

These are a good set of tests for matches being displayed explicitly
and through the player views.  There will be more listed in the
matches views, but this is a very good start.
Final tests for course.

These are the final set of tests I was able to produce for the course.
There are likely other good tests to be had, but we've run out of
time.  Alas.  More tests will appear in the production version of the
code.
Compile fix
Fix nasty bug in match validation test

I wasn't generating matches correctly and so the tests were blowing up
pretty badly for everyone.  This should hopefully fix the issue.
Updating final test
Merge https://www.github.com/geisler/game_contest_server

Conflicts:
	spec/models/match_spec.rb
	spec/models/referee_spec.rb
Passing Tests - After Meltdown
Still broken after deathstorm
Passing all tests WOOT