(major changes in this commit!)
- clear best times on Game 'Reset All'
- move all state-change responsibilities into GameModel to reduce coupling and prevent order dependencies
- move responsibility for computing points and score into GameModel
- remove redundant @param challenge from ChallengeNode constructor