Change Move::is_legal() checks into asserts
Change Move::is_legal() checks into asserts

The new asserts created in this commit only check that which should
already be known to be true before this method is called. For example:

- The inside_board() checks are already true by the construction of the
  Move lists in the Piece classes.
- Whether there is a Piece on the starting square is already checked in
  Board::is_legal().
- etc.

MarkZH/Genetic_Chess,MarkZH/Genetic_Chess,MarkZH/Genetic_Chess,MarkZH/Genetic_Chess,MarkZH/Genetic_Chess