Update code and documentation for Square::restrictValues, as it's
not actually possible for a Square to have no possibleValues left;
it will always have one left first, in which case it will be set.
In the middle of testing restrictValues.