Nested tuples in for-statement's and generator expression's index

This PR adds support for nested tuples in the index of for-stamtenents and generator expressions

```python
characters = [('Havelock', 'Vetinari'), ('Samuel', 'Vines'), ('Carrot', 'Ironfoundersson')]
firstname = 0

for nr, (firstname, lastname) in enumerate(characters): # 4
    print(firstname)
    print(lastname + nr) # 6

names = [nr + firstname for nr, (firstname, lastname) in enumerate(characters)] # 8
```
mypy output:
```
line 4: Incompatible types in assignment (expression has type "str", variable has type "int")
line 6: Unsupported operand types for + ("str" and "int")
line 8: Unsupported operand types for + ("int" and "str")
```

Fixes #310.
The test case parser complains about [ as the first character on a line. You can work it around by adding a dummy assignment (e.g., `x = [i+d...]`).