Reduced scope of `try` in parseFor
Reduced scope of `try` in parseFor

Example that would go wrong:

```lua
for i = 1, 10 do
    a = "" a
end
```

The problem was the definition of the for loop:
```haskell
try (numericForLoop) <|> genericForLoop
```

The above example would error at the `=`-sign in the first line,
rather than that of the second.

The problem is described here:
http://blog.ezyang.com/2014/05/parsec-try-a-or-b-considered-harmful/

FPtje/GLuaFixer