Completeness and compliance test

The SudokuGrid class can now test for it's completeness (is no black
cells) and compliance (with the rules of sudoku).
First attempt at solve() function - horribly slow
Improved termination of recursion of solve()
Added unused_val_from_cell
Fixed recursion in solve()