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.
Since we have the login timeout as a member field in OdbcConnection class, it sets the default value for the timeout in its constructor. So how about:

```
bool canConnect(OdbcConnection connection) {
	auto http = HTTP();
	with (connection) {
		logMessage("Checking connection to ", endpoint, loginTimeoutSeconds);
	    http.connectTimeout(dur!"seconds"(loginTimeoutSeconds));
	    try {
	    	get(endpoint, http);
	    } catch (CurlException e) {
	    	return false;
	    }
	    return true;
	}
}
```
Then in the driver (somewhat confusing as the reader may think that canConnect is a method in the OdbcConnection class. maybe we should put this method there, what do you think?):

```
            if (endpoint != ":8080" && !connectionHandle.canConnect()) {
            	//there is some endpoint specified, test it
                logMessage("endpoint is not UP", endpoint);
                return SQL_ERROR;
            }
```