Checking of starred expressions

This PR brings type checking of starred expressions in assignments (`*rest, last = 1,2,3`) and as index of for-statements (`[head for head, *tail in L]`).

In 9986cef, I have replaced the index of for-statements and generator expressions from being a list of `Node`s to a single `Node` (which will be a tuple, of course, when the list would have had more than one element before the change). Consequently, several testcases have changed in that commit, because the AST/parse tree changed a bit.
This fails in case of nested star expressions, like `a, *(b, *c) = x`. I'd like to fix it, but I have trouble coming up with a test case for type inference from lvalues.

I guess it is not very common, though, and not very useful.