knight no longer mutates the position passed to isMoveValid; when checking if a certain position is attacked by pawns, now checking their color as well; when castling, now correctly updating position of the rook and the chesspiece of its old field
listen command now listens for one message by default
no longer checking for path interceptor for a knight when checking if the king is attacked
properly calculating swapped absolute
now properly ruling out impossible king escape directions when checking for checkmate
now properly overriding equals and hashcode
no longer using test chess piece initializer; also when checking for interceptors to a king's attackers, king is now skipped