Issue #9: Check if player is in check

Added rules to check for check, and made it impossible to put oneself in
check.
Also added possibility to undo moves.