No castling is allowed when in check
Add placeholder test cases for other castling conditions
More placeholder castling tests
Implement part of the fifty move rule
Implement the remainder of the 50 move rule
Start the half-move clock at 0
Implement the rest of the logic about the half-move clock
Refactor 50 move code to fully contain all halfmove clock logic
Increment the half-move clock in real games when ending turns
Finish off the fifty-move rule