Test endpoint using the set SQL_LOGIN_TIMEOUT value

With this change when the entered endpoint is unreachable Tableau will
warn the user during connection setup instead of proceeding with an
incorrect endpoint and failing during query time. The timeout value set
by Tableau is used when testing the endpoint.
Love the "named bool in an if-statement", though once you tend to the last comment at the bottom (renaming `testConnection` to `canConnect`), I think it should be self-documenting enough to just put the function call in the if statement as `if (endpoint.testConnection(loginTimeoutSeconds))`.