Modernize ES for-loops and remove problematic for-in loops

This slightly modifies the behaviour of errors (see init.js)

Change-Id: I1aab691d5b7e8167b6213378bdd9139c133202cd
diff --git a/dev/js/src/plugin/server.js b/dev/js/src/plugin/server.js
index 76ac11d..e47cfbf 100644
--- a/dev/js/src/plugin/server.js
+++ b/dev/js/src/plugin/server.js
@@ -125,8 +125,7 @@
  
       // Embed all embeddings of the plugin
       var that = this;
-      for (let i in obj["embed"]) {
-        let embed = obj["embed"][i];
+      obj["embed"].forEach(function(embed) {
 
         if (typeof embed !== 'object')
           throw new Error("Embedding of plugin is no object");
@@ -274,7 +273,7 @@
 
           plugin["services"].push(id);
         };
-      };
+      }, this);
     },
 
     // TODO:
@@ -322,7 +321,7 @@
         
         // Every second increase the limits of all registered services
         this._timer = window.setInterval(function () {
-          for (var i in limits) {
+          for (let i = 0; i < limits.length; i++) {
             if (limits[i]++ >= maxMessages) {
               limits[i] = maxMessages;
             }
@@ -558,16 +557,16 @@
     // Destructor, just for testing scenarios
     destroy : function () {
       limits = {};
-      for (let s in services) {
-        services[s].close();
-      };
+      Object.keys(services).forEach(
+        s => services[s].close()
+      );
       services = {};
-      for (let b in buttons) {
-        buttons[b] = [];
-      };
-      for (let b in buttonsSingle) {
-        buttonsSingle[b] = [];
-      };
+      Object.keys(buttons).forEach(
+        b => buttons[b] = []
+      );
+      Object.keys(buttonsSingle).forEach(
+        b => buttonsSingle[b] = []
+      );
 
       if (this._element) {
         let e = this._element;