[#34] Implement authentication failure listener

The primary purpose of impementing an authentication failure listener is
to handle the case when a user is not available via a user provider or
if a user provider is not specified at all.

Without the listener, if the user does not exist in the provider's data
store, or if there is no provider configured at all, then when a user
successfully authenticates their browser will be entered into a
redirection loop. With the listener, an error page is displayed that
indicates that the user does not exist.
[#34] Add newline
[#34] Add error page customization note

Also, cleanup example documentation a little bit.
[#34] Added line break before {
Merge pull request #38 from ethanhann/feature-34-authentication_failure_listener

Feature 34 authentication failure listener