Parse comma expressions.

- Correctly parses the samples from #56, #1066, #1083.
- Warns W030: "Expected an assignment or function call and instead saw an expression." when a comma expression is encountered in an expression statement.
- Supersedes pull #1064, "Handle assignments in 'switch' conditions.".
- Warns W084: "Expected a conditional expression and instead saw an assignment." for assignments at the tail of a comma expression.
- Wrapping in parens now prevents W084.