Parse eval as an expression statement.

Previously it was a statement with no l-value. Now it is parsed as part
of the `parseExpression` path, so the return value of `eval` can be
assigned.
Throw parse error for `eval` with no args.

This is better than a compile error.