Make Piece abstract and remove PieceFactoryable
Validation checks for pawn and rook