Converted GameState.MoveList to List<MoveItem> and created MoveItem instead of using a dictionary so I can preserve order properly.
Added Contains method to GameState to see if a list of moves is contained in the game state.
GrabNextMove in LearnProcessor done.