Initial query rewrite support.

Currently supports matching columns, literals and count(*) in the selection
and columns in grouping.


Great use of ADTs