Lists

Python lists don't behave exactly like JavaScript arrays.  So, extra AST
is added to get the same behavior in for/in loops, and each
ArrayExpression is replaced with a __pyListShim JavaScript object which
acts like a Python list.

Locations for the additional AST nodes aren't helpful yet.