Updated State

Move functions now require which player is moving
State now has a value which tells if the state is valid or not
Start and end code is now init