Refactoring : avoid null usage in opponentMoved method to state that we'd like opponent to start game. It was undesired side effect and required extra null-checking.

 Now a separate method in the interface clearly defines what's needed.
Refactoring: removed not interesting 'run' method.
Its properties belong to opponentSuggestsMeStartGame
This looks much more logical in 'human' player opinion
and the asymmetry doesn't look bad now.