2x speed up of randomAction through lazy-ness.  We find new empty positions only when our randomly generated number does not fall within the range of previously discovered empties.