SPARK-3883 SSL support for HttpServer and Akka

 - Introduced SSLOptions object
 - SSLOptions is created by SecurityManager
 - SSLOptions configures Akka and Jetty to use SSL
 - SSLOptions uses property file which is node-local to set SSL settings
 - Provided utility methods to determine the proper Akka protocol for Akka requests and to configure SSL socket factory for URL connections
 - Added tests cases for AkkaUtils, FileServer, SSLOptions and SecurityManager
I see. Still, by using this env variable, you're assuming the hosts where the executors will run actually have that file available. I don't think we should make that assumption.

Instead, I'd prefer an approach such as this: https://github.com/apache/spark/blob/master/yarn/common/src/main/scala/org/apache/spark/deploy/yarn/ExecutorRunnableUtil.scala#L69

Basically, any options needed for the executor to connect back to the driver should be passed on the executor's command line. It also fits well into the "everything should go into SparkConf" model (which requires config options to start with `spark.`, at least when you want system properties to be loaded automatically).