Moved immutable game info into the adventure object

The game object is really a state object for the current session, so it
doesn't need to know about the controls, messages and synonyms. It
probably should be the one holding the turns array, though.

Also fixed a couple of test errors.
Actions are executed after each control set; lots moved into game object

All tests are run for each control set, then their actions are executed,
then the next control set is tested, etc. This is how the other versions
worked, and seems to be a more intuitive way for the game to be written.

Game object now contains all the matching logic and message queueing.
The adventure object handles controls.