Can pass failure threshhold as option.

This allows for some number of failures to still be treated as a
success. This is useful if, e.g. you can still proceed if at least one
of your calls succeed.

Additionally, now passes multiple failures through, instead of just
one. This allows for better error reporting.

Since this is backwards incompatible, I bumped the major version.