Made StandardException a RuntimeException, since I like to use it in lambdas
Quote table and column names that contain special characters
Parser doesn't deal with (<expression>)::<type> correctly.

The following tests have the form <expression>::<type> and succeed:

join-with-type
select-with-type
where-with-type

The following tests have the form (<expression>)::<type> and fail

join-with-paren-type
select-with-paren-type
where-with-paren-type