Adding a makeSSLSocketFactory method accepting preloaded KeyStore/KeyManagerFactory.

The existing makeSSLSocketFactory() method only supports loading a KeyStore from a classpath relative file using a provided passphrase. An additional makeSSLSocketFactory added in this commit allows the caller to provided a preloaded KeyStore/KeyManagerFactory. This can be used by callers that have a KeyStore/KeyManagerFactory loaded in memory, or from an arbitrary InputStream not on the classpath.