Treat some bounce detectors as authoritative
Since we have specific detectors for RFC-compliant DSNs and other various providers, running them through the generic simple detectors can result in false positives.
Each bounce detector now returns a Result
object, which contains
a set of temporary failures, permanent failures and a boolean of
whether the result should be treated as authoritative. If the result
is authoritative, no other bounce detectors will be consulted.
The public API is basically the same except the constants NoFailures, NoPermanentFailures and NoTemporaryFailures were removed.
Fixes #12 (closed).
@msapiro let me know what you think of this approach or if it should be done a different way. The one thing I'm not at all sure of is what the order of the detectors should be.