Initial implementation of CSP class

* Backtracking algorithm with AC-3 constraint propagation
* Automatic conversion of n-ary constraints to binary constraints
* Shortcut method for adding multiple variables
* Shortcut method for adding constrains across all variables
Added Mathdoku CSP type

* Square n-by-n size set in constructor
* Battleship-style symbol variables (e.g. :A1, :C2, :B3, :D4)
* Initial domains are 1 through n (the size of the board)
* Cells in each row must be unique
* Cells in each column must be unique
* Helper methods for adding sum, difference, product, and quotient constraints
fixed hard-coded size of 6
fixed local variable scope in Mathdoku class
small performance benefit by using min-remaining-values variant of backtracking
added sudoku puzzle class
removed test code
fixed type error in Mathdoku#print!
constraining number of variables the easy way ;)
added README
Merge branch 'release/0.0.1'