Fix inverted logic bug.
Minor documentation and coding convention fixes based on code review.
Refactor exception handling to clarify component concerns.

1. AuthenticationHandlers produce one of three results that can inform higher level components: authentication success (return HandlerResult), authentication failure (throw GeneralSecurityException), and authentication prevented from taking place (throws PreventedException).
2. Generalize error conditions arising from AuthenticationManager: failed authentication (unsatisfied security policy) and principal resolution failure.
3. AuthenticationManager now throws AuthenticationException that contains rich metadata about both successfully and unsuccessfully authenticated credentials.
Refactor exception resolution machinery based on code review feedback.

The AbstractAuthenticationErrorResolver now provides a single component that knows how to map exceptions from the authentication layer onto types required by the Web layer. Work remains to adopt the exception vocabulary in the java.security and org.jasig.cas.authentication packages in authentication handlers.