TEMPORARY: Add parens; my coffeescript version sucks
Add test for quoted identifiers
Switch symbol escaping to use square brackets

This is a breaking change.  Code that relies on string expressions needs
to be revised.  My recommendation is for such code to instead rely on
parsed expressions for a couple reasons:
  * This will avoid it being polluted by ad-hoc unescaping symbols.
  * Later processing steps (such as construction of SQL statements) will
    have an easier time given ASTs instead of raw strings.
Fill dataspec with ASTs instead of strings
Fix parser tests w.r.t. dataspec containing ASTs
Add infix operator tokenization
Use fat arrow to define methods
Extend parser to support infix operators
Add tokenization for if/then/else

Note that bracketing keywords allows these names to be used as symbols,
as shown in the added test case.
Add conditional expressions

Also added comparison symbols as infix operators.
Add type analysis of ASTs
Improve naming, fix symbol parsing bug, add tests
Add literals for categorical data
Fix bracketing and quoting

Only remove backslashes when the string has been bracketed/quoted.
Make sure to escape backslashes when re-applying brackets/quotes.
Allow export of ASTs to JSON
some preliminary SQL-izing backend code

note: this file doesn't really belong in this directory.
that's why this branch isn't getting merged any time soon.
eval is evil; also fix numeral constants
Factor ASTVisitor pattern out of ExprToSql
add more test cases
Separate function and column type environments

Without this change, there would be potential name clashes.