Add :rank option to Dataset#full_text_search on PostgreSQL, to order by the ranking (Fixes #809)

This also changes the SQL slightly, due to the use of standard
SQL casts instead of :: casts.

Stop checking for specific SQL in the adapter tests for this.
Make :read_only transaction option be per-savepoint on PostgreSQL (Fixes #807)

The READ ONLY setting is per savepoint on PostgreSQL, allowing
you to have a READ WRITE transaction with savepoints that are
READ ONLY.  You cannot have a READ ONLY transaction with READ
WRITE savepoints, though, as then the entire transaction would
not be read only.
Support a default Dataset#import slice size, set to 500 on SQLite (Fixes #810)

I debated whether to set a default slice size for all databases,
but decided against it.  Setting a default slice size lower than
the maximum limit for the database may hurt performance.  If
limits are discovered for other databases, I'll update the
adapters appropriately.

While here, add some more specs for :slice option usage.