factored out rules as functions
added closed_subsets rule, refactored rules to take a sudoku and an array of history
bug fixes, print details, remove value from square and compute it from values instead
simplified closed_subsets by adding subsets_of_limited_cardinality function, use property decorator in class Square
added box_row and row_box intersection
removed sudoku methods that became rules
cleaned up a bit
bunch of sudoku puzzles