Call ExecutorService.shutdown() at finish to gracefully stop the dangling threads

The program was not stopping even after SparkContext was stopped and everything. The ExecutorService needs to be shut down too.
Fix the issue where DistConfig.sparkLogLevel was getting null and not the default Level.WARN

Problem was: getValue() returns null directly instead of passing it through the closure.