Allow using parens in arguments

Sometimes it might come in handy to have parenthesized arguments like
```c
MAP(F, (a,1), (b,2), (c,3));
```

This caused `error: macro "MAP_GET_END" passed 2 arguments, but takes
just 0` before.

This PR enables the use of parenthesized arguments as in
```c
MAP(F, (a,1), (b,2), (c,3));
```
or
```c
MAP(F, (a)(1), (b)(2), (c)(3));
```

Using an argument `(1)(2)(3)` is currently not possible, but would only
need adding one further line.