Add specs for the SQL adapter

Ensure the database is reset when running SQL specs

One new method introduced: It is now possible to
call `select` directly on a class in the same way
`where` or `find` are called.

These tests are not exhaustive and they reveal
some incomplete areas. Most notably around
Transactions.
Map `false` and `true` to their values for sqlite
Issue delete notification when a record is deleted
Cast datetime/date integers to Time
Ensure :date column type is handled correctly.