Adding State.Builder class

State.Builder is meant to make creating new States easier (such as after
performAction of Actions).
Improved TurnManager, State.Builder, etc.

Previously it was impossible to implement Actions (such as Refute)
correctly. Now these classes are move fleshed out (but not completely
yet).