Fix what appears to be a bug with max-fail

Instead of checking max-fail against nfail, it was
checking against ntest (number of successes).
Add a predicate testable? for properties

This checks if the value can be coerced to a
result generator.
Adjust exports and a few struct-related names
Add an initial draft of the documentation