Issue 285 - foreach syntax

Closes #285 

Merge with: https://github.com/jbeard4/scxml-test-framework/pull/12

Implemented illegal foreach item expressions.
Implemented iterating only on arrays, raising error otherwise
I think you should check that the top-level node is an ExpressionStatement. Like this:

http://esprima.org/demo/parse.html?code=%2F%2F%20Life%2C%20Universe%2C%20and%20Everything%0A6%20*%207%3B%0A

Expression “6 * 7” yields:

```json
{
    "type": "Program",
    "body": [
        {
            "type": "ExpressionStatement",
            "expression": {
                "type": "BinaryExpression",
                "operator": "*",
                "left": {
                    "type": "Literal",
                    "value": 6,
                    "raw": "6"
                },
                "right": {
                    "type": "Literal",
                    "value": 7,
                    "raw": "7"
                }
            }
        }
    ]
}
```

Then you do not need to create a constructed expression.

You will still need to wrap esprima.parse it in a try/catch to catch syntax errors.