Record commit times with fractional second precision on SQLite.

Done by adding an engine method, `_ts_default`, that defines how to set
`committed_at` and `created_at`. It defaults to `DEFAULT`, which should work
for systems that have a subsecond-precision default (like Postgres). For
SQLite, we override it to call `strftime()` with sub-second precision. This is
good enough for per-statement timestamps like SQLite has (or Postgres's
`statement_timestamp()` function, should we ever decide to use it). Were able
to then delete the ugly hack in the tests that set a timestamp after every
insert. But still needed to add a workaround for proper tag sort ordering,
since muliple tags on a single change are inserted in a single staement, and
so all have the same timestamp. The workaround is just in the tests, which now
all pass.