Let HttpClientBuilder obey JSSE system properties

The SchemeRegistry which has been used in HttpClientBuilder doesn't support
JSSE related system properties which would allow setting key and trust stores
and other relevant properties through Java system properties.

The following system properties are taken into account by this method:

  * ssl.TrustManagerFactory.algorithm
  * javax.net.ssl.trustStoreType
  * javax.net.ssl.trustStore
  * javax.net.ssl.trustStoreProvider
  * javax.net.ssl.trustStorePassword
  * java.home
  * ssl.KeyManagerFactory.algorithm
  * javax.net.ssl.keyStoreType
  * javax.net.ssl.keyStore
  * javax.net.ssl.keyStoreProvider
  * javax.net.ssl.keyStorePassword

Also see http://hc.apache.org/httpcomponents-client-ga/httpclient/apidocs/org/apache/http/conn/ssl/SSLSocketFactory.html#getSystemSocketFactory%28%29

The change will not break anything in old clients of HttpClientBuilder but it will enable users to override the default SSL settings without implementing their own org.apache.http.conn.scheme.SchemeRegistry.