Rewrite database to use InnoDB, utf8 and optimize.

InnoDB is now used by all tables for better handling (including
foreign key support).  utf8 is also good to have.

The other major change is that the grades table is no more.
Instead, the grade is now stored as part of the player_response.
Also, the grades are calculated smartly:
* when a player_response is inserted or updated, it is graded
* when a response to a clue is inserted, updated or deleted,
  all player_responses for that clue are graded.
This should fix a major performance issue in previous years, where
the grades table, consisting of tens of thousands of player_responses
matched by regex against numerous clue responses, took significant
time to generate.