Avoid SSLHandshakeException in JVM's < 7

If SSLHandshakeException is raised, SSLv3 and SSLv2Hello protocols are removed and then retry the
connection.

The idea comes from: http://www.oracle.com/technetwork/java/javase/documentation/cve-2014-3566-2342133.html. Specifically from this part:

    //To dynamically remove SSLv3 from the list of enabled protocols, use the following code snippet:
    SSLSocket sslSocket = sslSocketFactory.createSocket(...);

    // Strip "SSLv3" from the current enabled protocols.
    String[] protocols = sslSocket.getEnabledProtocols();
    Set<String> set = new HashSet<>();
    for (String s : protocols) {
         if (s.equals("SSLv3") || s.equals("SSLv2Hello")) {
            continue;
        }
        set.add(s);
    }
    sslSocket.setEnabledProtocols(set.toArray(new String[0]));