the king, rook, and pawn now update their moved flag when position is changed; added public setters for position
position now implements Cloneable
game controller now performs more advanced validatations and correctly updates the piece's position in the board - all chess pieces can now move around correctly and players can take each other's chess pieces