Add Gen.retryUntil, a looping version of Gen.suchThat

retryUntil will evaluate the generator continously, until
the specified condition is fulfilled. This method must be
used with care, since you can end up in an infinite loop
if the condition never is fulfilled. On the other hand,
retryUntil can avoid a lot of discarded tests if used on
generators with a condition that you know will be true
"often enough".

For example, if you want to generate a list of only odd
numbers you might do the following:

val g = listOf(arbitrary[Int] suchThat (_ % 2 == 1))

However, that generator will never succeed, since it is
highly unlikely that all randomly generated integers are
odd. If you use that generator in a property, you will
only get discarded tests.

If you use retryUntil instead, you will waste some cycles
each time an even integer is generated, but since half of
the integers will be odd from the start, the generator
will converge quickly. The resulting generator is guaranteed
to never fail, and you will get no discarded tests.

val g = listOf(arbitrary[Int] retryUntil (_ % 2 == 1))

Of course, the best thing would be to use a generator that
produces odd number in a proper way.
Remove deprecated code

This means binary incompatibility, so the version has been
bumped to 1.11.0-SNAPSHOT.
Always show the original argument (non-shrinked) on failure
Remove unused classes from Gen.scala
Add TODO notes about ClassManifest -> ClassTag migration
Move org.scalacheck.Arg to org.scalacheck.Prop.Arg
Move Pretty and ConsoleReporter types to util package
Make CmdLineParser private to scalacheck package
Move org.scalacheck.Choose to org.scalacheck.Gen.Choose
Fix some scaladoc warnings
Remove the Prop.FM type alias
Remove old cross-build Scala versions
Update pomExtra in build.sbt
Set mima previous artifact to 1.11.0-SNAPSHOT since we don't have to keep binary compatibility between 1.10.x and 1.11.x
Update test-interface dependency to 1.0
Add Nix build file for ScalaCheck
Switch to fully modularized parser combinators.