Client connection fixes

Improved documentation
Improved testing
Immediately throws an AuthenticationException if a member rejects a client instead of retrying and ending up with an obscure message
In case of no members reachable a NoClusterFoundException is thrown.

Fixes #3769
I think it makes more sense if we check if response instanceof Exception rather than AuthenticationException. 
It looks weird to wrap an Exception to another Exception.