Can't instantiate FunCall nodes in ast

FunCall does this:

```python
class FunCall(Expr):

    """Function call. """

    def __init__(self, function_name, *args):
        super(BinExpr, self).__init__(args)
        self.funcall = as_symbol(function_name)
```

but the super call fails, because it's not a BinExpr.

With this small piece fixed, the optimiser can no longer inspect funcall nodes, because they have a varying number of children (that's in ast_optimizer line 125 or so).