Add support for rewriting date_trunc_xx used in BETWEEN clauses to use rollups.

This allows rewriting expressions of this particular form to use aggregated date_trunc_xx
columns in rollup tables:

        a BETWEEN date_trunc_xx(b) AND date_trunc_xx(c)

For date_trunc_{y,ym,ymd}.  This is typically used in the WHERE clause.

This also supports rewriting if the rollup has a less granular
rollup than requested (eg. rollup has ymd and query has ym).
Also support NOT BETWEEN, why not.
Merge pull request #18 from socrata/marcs/rewrite-date-trunc-in-where

Add support for rewriting date_trunc_xx used in BETWEEN clauses to use rollups.