Add "exists" to TableDrivenPropertyChecks

Also factored out runAndCollectResult internally, so future extensions such as forAtMost or similar would be easier to add.