Separated board and pieces into two files, and Flarnie found awful bug and we fixed it! (Board#dup, pass-by-reference.).
Refactor Board#checkmate.
Implement Board#check_mate?.