Support function and mixin calls with both variable and keyword args
Reevaluate var and keyword arg flags after eval a \$variable argument

```
foo($bar...);
```

Will flag `$bar` as a variable arg when in fact it may be a keyword
arg. We can only be sure once `$bar` has been evaluated. If `$bar`
is evaluated to a map then it's a keyword argument and the
Argument object needs to be updated accordingly.
Merge pull request #611 from xzyfer/feat/map-varargs

Add support for keyword arguments