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.
Merge branch 'master' of https://github.com/geisler/game_contest_server into gmaster
Merge branch 'gmaster' into dev
Merged in new tests, got it down to 17, but worked on hard tests.