#40, #41: Updated code so that it now uses the LoginCredentialProvider code.  LoginCredentialProvider now has the code from the AuthenticateConnectMessageHandler intended to perform authentication checks, and allow or disallow authentication.  It should, potentially, throw an exception when authentication fails; this will be in a later design.