Fix SWAP to enclose lhs/rhs expressions in its temp scope

(8fedeb77 regression)

The scope must be created before parsing SWAP's argument, so that they're
enclosed in it. Otherwise, any temp vars created (and added to the AST dtor
list) when parsing the expressions would be destructed by the
astScopeBegin(), because that uses astAdd(). And then the temp vars would
be destroyed before even being constructed & used.