Implemented parsing of IF, WHILE, LET.

LET required restructuring the AST a bit, because its initializer is a list
of nodes. So I created a new AST node type for that.