Database#table_exists? now assumes existence without a query if the table is in the cached schema

This should be safe in the general case, but can cause false
positive errors if the table has been dropped after the cached
schema call is made.
Add Model.default_set_fields_options, for having a model-wide default setting

This is useful if you want to have :missing=>:skip or :missing=>:raise
be the default behavior.
Support the :use_iso_date_format Database option in the postgres adapter, for per-Database specific behavior

Previously, there was only the global use_iso_date_format setting,
which was difficult to change since the adapter had to be loaded
first.

Keep the global setting as a default, but allow modification
per Database via an option.  It doesn't make sense to make this
modifiable after initialization, since that could result in
some connections using ISO and some not.

Note that this moves the use_iso_date_setting out of the pg_types
support.  This is because other drivers can load the pg_types
support and they shouldn't access that setting.  This does make
the default date parsing in pg_types use Date.parse instead of
the more optimized ISO-specific code, but these days I'm not sure
that matters.
Support a :convert_infinite_timestamps Database option in the postgres adapter

Previously, you had to call the convert_infinite_timestamps=
method after initialization to enable the setting.  This changes
allows it to be set in the connection string.
Remove some bad code in Sequel::Postgres module RDoc

This code doesn't work correctly if Sequel connects on
initialization, such as when using the pg_hstore extension.
In general, we should not be encouraging using the global
settings, so just remove much of the text and tell people to
use the options.

The postgres-adapter specific use_iso_date_format method
is mentioned in the connecting to a database guide, so
there is no need to mention it in the shared adapter module RDoc.
Support a :search_path Database option for setting PostgreSQL search_path

This is a much better way to set a default schema to use than
Sequel's default_schema setting (which will be going away in
Sequel 4).

The quoting of schema names is kind of ugly, but I don't want
to use the standard quoting methods in Dataset, since they
may require a connection (leading to an infinite loop).
Alphabetize some method ordering
Add Database.extension, for loading an extension into all future databases
Add array of allowable client_min_message settings

Sequel will start enforcing the client_min_messages value in the
future.  Currently, since the quoting is insecure, it's possible
to inject SQL via the setting.
Handle domain types in composite types in the pg_row extension

The way PostgreSQL works with domain types, is that on retrieval,
the oid returned to the client is the oid of the underlying type,
not of the base type itself.  This is why if you just select a
domain type, it is typecast correctly on retrieval (assuming the
underlying base type can be typecast correctly).

The pg_row extension didn't handle domain types specially
previously, just doing a check for the attribute types.  So for
domain types, it would get the domain type oid, which Sequel
probably doesn't have a conversion proc for.  This resulted in
domain types being returned as strings.

This change looks at the underlying type of the domain type, and
using its oid if available, resulting in domain types being
typecast correctly.

Note that Sequel's schema parsing does not do special handling for
domain types, so the schema :oid values and db_type reflect the
domain type and not the underlying type.  I'm not sure if that
should be changed or not.
Make some currently global extensions loadable by Database/Dataset#extension

In Sequel 4, these extensions will no longer be global extensions,
and you will have to load them with Database/Dataset#extension to
get the desired behavior.  This adds the necessary no-op callbacks
for forwards compatibility.

This updates bin/sequel as well so it won't need to be changed in
Sequel 4.