Removing restangular (#3595)

* Removed Restangular from the codebase

* updated changelog

* fixed missing 'return' statements, typo, incorrect indexing

* API Service methods now resolve explicitly

* Rejected promises throw instead of returning

* Removed unrelated changes

* removed from browserify

* Remove unnecessary success message
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 8f99ed0..d37e64b 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -116,6 +116,7 @@
 - Fixed Traffic Ops Golang POST servers/id/deliveryservice double-logging errors.
 - Issue #4131 - The "Clone Delivery Service Assignments" menu item is hidden on a cache when the cache has zero delivery service assignments to clone.
 - Traffic Portal - Turn off TLSv1
+- Removed Traffic Portal dependency on Restangular
 
 ### Deprecated/Removed
 - The TO API `cachegroup_fallbacks` endpoint is now deprecated
diff --git a/traffic_portal/app/src/common/api/HttpService.js b/traffic_portal/app/src/common/api/HttpService.js
index 5dcf7b7..1089ae4 100644
--- a/traffic_portal/app/src/common/api/HttpService.js
+++ b/traffic_portal/app/src/common/api/HttpService.js
@@ -20,7 +20,7 @@
 var HttpService = function($http, $q) {
 
     this.get = function(resource) {
-        var deferred = $q.defer();
+        const deferred = $q.defer();
 
         $http.get(resource)
             .then(
@@ -36,7 +36,7 @@
     };
 
     this.post = function(resource, payload) {
-        var deferred = $q.defer();
+        const deferred = $q.defer();
 
         $http.post(resource, payload)
             .then(
@@ -52,7 +52,7 @@
     };
 
     this.put = function(resource, payload) {
-        var deferred = $q.defer();
+        const deferred = $q.defer();
 
         $http.put(resource, payload)
             .then(
@@ -68,7 +68,7 @@
     };
 
     this.delete = function(resource) {
-        var deferred = $q.defer();
+        const deferred = $q.defer();
 
         $http.delete(resource)
             .then(
diff --git a/traffic_portal/app/src/common/api/ToolsService.js b/traffic_portal/app/src/common/api/ToolsService.js
index 2ceb61c..ad980aa 100644
--- a/traffic_portal/app/src/common/api/ToolsService.js
+++ b/traffic_portal/app/src/common/api/ToolsService.js
@@ -17,52 +17,41 @@
  * under the License.
  */
 
-var ToolsService = function($http, $q, Restangular, locationUtils, messageModel, ENV) {
+var ToolsService = function($http, messageModel, ENV) {
 
 	this.getOSVersions = function() {
-		var request = $q.defer();
-
-		$http.get(ENV.api['root'] + "osversions")
-			.then(
+		return $http.get(ENV.api['root'] + "osversions").then(
 				function(result) {
-					request.resolve(result.data.response);
+					return result.data.response;
 				},
-				function() {
-					request.reject();
+				function(err) {
+					throw err;
 				}
 			);
-
-		return request.promise;
 	};
 
 	this.generateISO = function(iso) {
-		var request = $q.defer();
-
-
-		var respType = 'json';
-		if (iso.stream == 'yes') {
+		let respType = 'json';
+		if (iso.stream === 'yes') {
 			respType = 'arraybuffer';
 		}
 
-		$http.post(ENV.api['root'] + "isos", iso, { responseType:respType })
-			.then(
-				function(result) {
-					request.resolve(result.data.response);
-					if (iso.stream == 'yes') {
-						var isoName = iso.hostName + "." + iso.domainName + "-" + iso.osversionDir + ".iso";
-						download(result.data, isoName);
-					}
-				},
-				function(fault) {
-					messageModel.setMessages(fault.data.alerts, false);
-					request.reject();
+		return $http.post(ENV.api['root'] + "isos", iso, { responseType:respType }).then(
+			function(result) {
+				if (iso.stream === 'yes') {
+					const isoName = iso.hostName + "." + iso.domainName + "-" + iso.osversionDir + ".iso";
+					download(result.data, isoName);
 				}
-			);
-
-		return request.promise;
+				return result.data.response;
+			},
+			function(err) {
+				messageModel.setMessages(err.data.alerts, false);
+				throw err;
+			}
+		);
 	};
 
 };
 
-ToolsService.$inject = ['$http', '$q', 'Restangular', 'locationUtils', 'messageModel', 'ENV'];
+ToolsService.$inject = ['$http', 'messageModel', 'ENV'];
 module.exports = ToolsService;
diff --git a/traffic_portal/app/src/scripts/shared-libs.js b/traffic_portal/app/src/scripts/shared-libs.js
index e3367d8..730bc1c 100644
--- a/traffic_portal/app/src/scripts/shared-libs.js
+++ b/traffic_portal/app/src/scripts/shared-libs.js
@@ -42,9 +42,6 @@
 // angular bootstrap context menu
 require('contextMenu');
 
-// restangular
-require('restangular');
-
 // jquery
 require('jquery');
 
diff --git a/traffic_portal/bower.json b/traffic_portal/bower.json
index 8f99406..114adb3 100644
--- a/traffic_portal/bower.json
+++ b/traffic_portal/bower.json
@@ -18,7 +18,6 @@
         "flot-axislabels": "release-2.0.1",
         "font-awesome": "4.5.0",
         "jquery": "2.0.0",
-        "json3": "3.3.2",
-        "restangular": "1.5.2"
+        "json3": "3.3.2"
     }
 }
diff --git a/traffic_portal/grunt/browserify2.js b/traffic_portal/grunt/browserify2.js
index f3f09f7..9f77bb8 100644
--- a/traffic_portal/grunt/browserify2.js
+++ b/traffic_portal/grunt/browserify2.js
@@ -6,9 +6,9 @@
  * to you under the Apache License, Version 2.0 (the
  * "License"); you may not use this file except in compliance
  * with the License.  You may obtain a copy of the License at
- * 
+ *
  *   http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing,
  * software distributed under the License is distributed on an
  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
@@ -42,8 +42,7 @@
                                 'bootstrap-sass-official/assets/javascripts/bootstrap.min.js',
                                 'es5-shim/es5-shim.min.js',
                                 'jquery/jquery.min.js',
-                                'json3/lib/json3.min.js',
-                                'restangular/dist/restangular.min.js'
+                                'json3/lib/json3.min.js'
                             ]
                     },
                     {
@@ -104,8 +103,7 @@
                                 'bootstrap-sass-official/assets/javascripts/bootstrap.js',
                                 'es5-shim/es5-shim.js',
                                 'jquery/jquery.js',
-                                'json3/lib/json3.js',
-                                'restangular/dist/restangular.js'
+                                'json3/lib/json3.js'
                             ]
                     },
                     {