Remove unreachable dead statement.
Cleanup some code around the Pratt parsing / state machine.
- Create a proper constructor (mostly for closure compiler).
- s.expression(rprec, s) doesn't need the extra s parameter,
  make the code more OOP and properly use |this|.
- Rename advance to advance_token (mostly for closure compiler).
- Return the previous token type from advance_token().  This reduces
  the common pattern of checking the type and then advancing.
Mark kMaxPrecedence as const for closure compiler.
Move kMaxPrecedence by kCOperatorTable.
Move node_test to node_print, which is more clear.
Also makes space for real tests.
Improve handling of ',' operator.
- Don't ever output parens, or you get c((1, 2), 3).
- It is left associative not right.
Fix missing open paren in function call output.
Add some tests.