[HOTFIX] Change Spark download url for spark 1.6.x

### What is this PR for?
Spark 1.6 was removed from CDN. We need to download it from apache archive.

### What type of PR is it?
[Hot Fix]

### Todos
* [x] - Change the location for downloading Spark 1.6.x

### Questions:
* Does the licenses files need update? No
* Is there breaking changes for older versions? No
* Does this needs documentation? No

Author: Jongyoul Lee <jongyoul@gmail.com>

Closes #3075 from jongyoul/hotfix/change-spark-download-location and squashes the following commits:

87bfd2abf [Jongyoul Lee] Removed comments Reduce changes
a51d5b93b [Jongyoul Lee] Change download url for spark 1.6.x
9f63f8358 [Jongyoul Lee] Change download url for spark 1.6.x
diff --git a/zeppelin-zengine/src/test/java/org/apache/zeppelin/interpreter/SparkDownloadUtils.java b/zeppelin-zengine/src/test/java/org/apache/zeppelin/interpreter/SparkDownloadUtils.java
index e027bb0..0455dd8 100644
--- a/zeppelin-zengine/src/test/java/org/apache/zeppelin/interpreter/SparkDownloadUtils.java
+++ b/zeppelin-zengine/src/test/java/org/apache/zeppelin/interpreter/SparkDownloadUtils.java
@@ -1,17 +1,16 @@
 package org.apache.zeppelin.interpreter;
 
-import org.apache.commons.io.FileUtils;
-import org.apache.commons.io.IOUtils;
-import org.apache.commons.lang3.StringUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
 import java.io.BufferedReader;
 import java.io.File;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.InputStreamReader;
 import java.net.URL;
+import org.apache.commons.io.FileUtils;
+import org.apache.commons.io.IOUtils;
+import org.apache.commons.lang3.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class SparkDownloadUtils {
   private static Logger LOGGER = LoggerFactory.getLogger(SparkDownloadUtils.class);
@@ -34,18 +33,39 @@
       return targetSparkHomeFolder.getAbsolutePath();
     }
     // Try mirrors a few times until one succeeds
+    boolean downloaded = false;
     for (int i = 0; i < 3; i++) {
       try {
         String preferredMirror = IOUtils.toString(new URL("https://www.apache.org/dyn/closer.lua?preferred=true"));
         File downloadFile = new File(downloadFolder + "/spark-" + version + "-bin-hadoop2.6.tgz");
-        String downloadURL = preferredMirror + "/spark/spark-" + version + "/spark-" + version + "-bin-hadoop2.6.tgz";;
+        String downloadURL = preferredMirror + "/spark/spark-" + version + "/spark-" + version + "-bin-hadoop2.6.tgz";
         runShellCommand(new String[] {"wget", downloadURL, "-P", downloadFolder});
         runShellCommand(new String[]{"tar", "-xvf", downloadFile.getAbsolutePath(), "-C", downloadFolder});
+        downloaded = true;
         break;
       } catch (Exception e) {
         LOGGER.warn("Failed to download Spark", e);
       }
     }
+
+    // fallback to use apache archive
+    // https://archive.apache.org/dist/spark/spark-1.6.3/spark-1.6.3-bin-hadoop2.6.tgz
+    if (!downloaded) {
+      File downloadFile = new File(downloadFolder + "/spark-" + version + "-bin-hadoop2.6.tgz");
+      String downloadURL =
+          "https://archive.apache.org/dist/spark/spark-"
+              + version
+              + "/spark-"
+              + version
+              + "-bin-hadoop2.6.tgz";
+      try {
+        runShellCommand(new String[] {"wget", downloadURL, "-P", downloadFolder});
+        runShellCommand(
+            new String[] {"tar", "-xvf", downloadFile.getAbsolutePath(), "-C", downloadFolder});
+      } catch (Exception e) {
+        throw new RuntimeException("Fail to download spark " + version, e);
+      }
+    }
     return targetSparkHomeFolder.getAbsolutePath();
   }