Change semantics of the state.

State now inherits from AbstractState, which defines the transition and
isFinal methods. This is more object oriented.
Commenting.
Refactor TicTacToe, add some comments.
Rearrange methods in ConnectFour.