Add internal parser for savegame

Due to there being state while parsing the savegame, I thought it best to
encapsulate the state and responsibility into an internal class. This
essentially makes the Savegame class smaller and more narrower in focus.