Implement parser state machine using Maps

Instead of implementing the parser state machine using lots of
duplicated switch-case code, the code was changed to implement the state
machine using Maps. The code now resembles the table shown in the
state machine comment in the GameFileParser file.

The code was also refactored to pull out Round and Goal classes so that
the Game class is not so bulky.