One minor change to IsValid

We don't need to use the chessmovebelongsto function, adds too much
overhead. So if we just get the piece straight from the board by using
the coordinates from the opponent's move. Other than that the function
looks really great! Thanks Menglee!