ENH : verify that the location is empty before testing for each value

Before, the isLocationEmpty() method was called in CanAddNumber() method.
Since CanAddNumber() is called for values from 1 to boardSize, we were calling it as much times even is the location wasn't empty. Checking before just helps preventing that.
NEW : doesn't return actions when one location can't be filled

- If we can't fill one location of the board, this means the given board will never be able to be completed.
We can therefore stop here and return a set of empty actions.
- We used the boolean variable canAddOneNumber initialized to false to determine if no number can be added
- Works better but doesn't seem to act perfectly like wanted : for the first sudoku board tested it still goes on while leaving a 0 in the position (1,6), when we'd expect to never have 0 left behind. It used to leave one 0 at (1,1) before those changes.