Added support for date types (date, time, timestamp).

With this change, .getMetadata() reports the correct java.sql.Date
type for columns marked as date. The .getDate() on a row also returns a
java.sql.Date object. Since jdbc expects dates to be in the GMT
timezone, the dates are converted first.
Cleanup, and fix minor timezone issue in a test.