[BUG #7523] add expression list to 'while' condition

- 'while(a=1,b=2)...' now works
- ast is (while (expressionList ...)(body ...))
- made "," and ":" bp=5
- added expression(symbol(",").bind_left+1) calls to maps, arrays, ...,
  to not overrun commas