default client: use custom HostnameVerifier if overridden

Sometimes, it's useful to override the hostname verifier for SSL connections... for example, when you're developing against a test server managed by another company that's using a self-signed certificate with a mis-matched hostname.  This patch enables that usage by overriding the default HostnameVerifier in a Dagger module.

I haven't included any tests in the initial submission.  In order to test this behavior, we'd need to perform actual certificate negotiation, which TrustingSSLSocketFactory currently avoids.  If test coverage for this is desired, I'm willing to contribute it, but didn't want to spend the time on it unless the enhancements to TrustingSSLSocketFactory were desired.