Implement basic functionalities for workflow control.
- Manage join/leave of clients
- All clients communicate via socket.io
- Probes emit events
- Managers register workflows (by using a workflow essence)
- Send kickstart request to Managers to launch workflows
- Route events to workflow runs
- Queue events to not lose events between workflow tasks
- Fixed some issues found while working on testcases
- Set to perform coverage and unittest and generate outputs to files

Change-Id: I678723edc20df9247d63a4bf6380785ab8b2b221
diff --git a/.eslintrc b/.eslintrc
new file mode 100644
index 0000000..09cf359
--- /dev/null
+++ b/.eslintrc
@@ -0,0 +1,37 @@
+{
+    "parserOptions": {
+        "ecmaFeatures": {
+            "blockBindings": true,
+            "forOf": true,
+            "destructuring": true,
+            "arrowFunctions": true,
+            "templateStrings": true,
+            "generators": true
+        }
+    },
+    "env": {
+        "node": true,
+        "es6": true
+    },
+    "rules": {
+        "quotes": [2, "single"],
+        "no-undef": [2],
+        "object-curly-spacing": [2, "never"],
+        "no-unused-vars": [2, {"vars": "all", "args": "after-used", "argsIgnorePattern": "^_"}],
+        "space-before-blocks": [2, {"keywords": "always", "functions":"always"}],
+        "brace-style": [2, "stroustrup", { "allowSingleLine": true }],
+        "no-param-reassign": [2, {"props": false}],
+        "max-len": [2, 120, 4],
+        "eqeqeq": [1, "smart"],
+        "new-cap": [2, {"capIsNewExceptions": ["Router"]}],
+        "func-names": 0,
+        "object-shorthand": [0, "never"],
+        "wrap-iife": [2, "any"],
+        "no-loop-func": 0,
+        "no-console": 0,
+        "padded-blocks": 0
+    },
+    "globals" :{
+        "require": true
+    }
+}
\ No newline at end of file