Check/Checkmate algorithms

Mostly complete.
Requires individual pieces to not allow movement for check-resulting
situations.