Changed the way errors are propagated through the verifier.

Changed the boolean "okay" to a "failure" enumeration.  Most failures are
"generic", but some are called out specially.  Added a more detailed
failure result from resolver functions.

In theory, no behavior has changed.
3 files changed