refactor board#in_check?
refactor board#dup, add piece#dup
refactor board#checkmate?
refactor board#print and board#setup