Fixed the unit tests to work with the changed behaviour of the game pieces notify functionality (as well as the game board's). All tests run correctly now.
changed the validator back to old version - saved it in case we need to restore it back
Changed IPiece to notify if the move is valid not if the command is valid - the piece does not know what a command is. The piece only knows its allowed moves and reports if the passed one is one of them.
Changed the game engine to work with the new logic. Now its part of the LogicPlayerPieceMover to understands if the command is for the piece. Also the same class knows if to add a move to the king - the engine itself does not know when to add move to the king - it shouldn't know if player one is king or pawn or something else. Refactired game engine a bit.