suchThat()

Probably a name easier to understand that implies().

* suchThat() takes a single anonymous function
* suchThat() takes independent constraints for each argument (but still evaluates the whole tuple of values)
* multiple suchThat() are possible
* if the ratio of `actually evaluated` to `generated` is under the configurable 0.5 threshold, the test fails
Precondition or PreCondition?