Request functions for protocols in the Lox library previously returned a
ProofError error type, which is not verbose enough to allow for accurate
debugging.
This commit introduces a new error enum, CredentialError, with several
types that allow for descriptive error messages.