Generate values starting at size 0, not 1

* Change the string generator to use size [0, size], not size
* Change gen/such-that to increase the size parameter if it needs to
  recur and generate a new argument. This prevents infinite loops for
  some generators that can't be satisfied at size 0.