Update Phase State and add a Phase class

Phase state has been modified to have some private instance variables. As
part of this, the class Phase was made to make the instance variable for
layed down phases to be easier to manage. Hand Test was also updated.
Merge remote-tracking branch 'origin/PhaseState' into DOPHIN(CompPlayer)