[SPARK-3270] Spark API for Application Extensions

SPARK-3270: Initial proposal of application extensions.
    
The change set introduces:
   * Spark extension API to implement
   * hook into Executor to handle extension lifecycle
    * a method to specify extension via SparkConf
    * a 'spark.extensions' configuration variable to pass extension
    list to spark context
    * a test verifying that extension is correctly started inside executor lifecycle
    
For more details please folow SPARK-3270 or design document
    https://docs.google.com/document/d/1dHF9zi7GzFbYnbV2PwaOQ2eLPoTeiN9IogUe4PAOtrQ/edit?usp=sharing