This implements sql.Scanner and sql/driver.Valuer, so that we can load/store time values into SQLite with the format we want, and properly handle NULL (which the go-sqlite3 package doesn't do correctly).