Add support for type coercing from date to timestamp

Some tools generate queries comparing date and timestamp. For example:

* select count(1) from tpch.orders where from_unixtime(orders.time) > date '2014-05-06'

This patch adds support for implicit type conversion from date to timestamp to support those queries.
I separated 2 commits because I'm not 100% sure which following tests follows the SQL standard:

* assertFunction("DATE '2013-10-27' = TIMESTAMP '2013-10-27 03:09:00 +05:09'", true);  in Europe/Berlin timezone (+02:00)
* assertFunction("DATE '2013-10-27' = TIMESTAMP '2013-10-27 00:00:00 +05:09'", true);