IS-08-01: test_14 only sends one action instead of two actions
The reordering constraint is supposed to send 2 channel changes that will eventually get blocked. 
```
blockOneAction = Action(
                    inputInstance.id,
                    targetOutputList[inputInstance.id].id,
                    inputChannelIndex,
                    outputChannelIndex
                )
blockTwoAction = Action(
                    inputInstance.id,
                    targetOutputList[inputInstance.id].id,
                    outputChannelIndex,
                    inputChannelIndex
                )
activation.addAction(blockOneAction)
activation.addAction(blockTwoAction)
```
However the test-suite only sends latter channel change due to the dictionary `.update` in `_actionObject(self)` in `activation.py` which overrides the first `blockOneAction`.

```
def _actionObject(self):
        actionObject = {}
        for action in self.actionList:
            actionObject.update(action.toJSON())
        return actionObject
```

diff --git a/nmostesting/suites/is08/action.py b/nmostesting/suites/is08/action.py
index 7403be3..86a3d28 100644
--- a/nmostesting/suites/is08/action.py
+++ b/nmostesting/suites/is08/action.py
@@ -21,12 +21,10 @@ class Action():
         self.inputChannel = inputChannel
         self.outputChannel = outputChannel
 
-    def toJSON(self):
+    def channelJSON(self):
         return {
-            self.outputID: {
-                self.outputChannel: {
-                    "input": self.inputID,
-                    "channel_index": self.inputChannel
-                }
+            self.outputChannel: {
+                "input": self.inputID,
+                "channel_index": self.inputChannel
             }
         }
diff --git a/nmostesting/suites/is08/activation.py b/nmostesting/suites/is08/activation.py
index 492ebeb..5ddce25 100644
--- a/nmostesting/suites/is08/activation.py
+++ b/nmostesting/suites/is08/activation.py
@@ -44,7 +44,10 @@ class Activation:
     def _actionObject(self):
         actionObject = {}
         for action in self.actionList:
-            actionObject.update(action.toJSON())
+            if action.outputID not in actionObject:
+                actionObject[action.outputID] = action.channelJSON()
+            else:
+                actionObject[action.outputID].update(action.channelJSON())
         return actionObject
 
     def _buildPOSTObject(self):
['nmostesting/suites/is08/action.py', 'nmostesting/suites/is08/activation.py']