Don't require extensions spec helper for core_extensions spec
Don't have pg_* extensions add methods to core classes unless the core_extensions extension is loaded

This adds methods to Sequel that act as replacements for the
methods added to Symbol, Array, Hash, and Range by the extensions.
If the core extensions are loaded, this is backwards compatible,
as the methods are still added.

The reasoning here is if you don't want Sequel's core_extensions,
you probably don't want to add methods to the core classes at all.
Add and refactor some schema modification specs

Split the drop_column spec into a couple additional specs, one
for basic column drop colum, one for a drop column with a default,
one for dropping a foreign key column.

Also, add a spec for creating boolean columns with defaults.
Require rubygems for the core_extensions specs

These specs require some pg_* extensions that require json, and on
1.8 json is not in stdlib and needs rubygems loaded.
Fix dropping of columns with constraints on Microsoft SQL Server (Fixes #515)

Drop the constraint before dropping the column, just like we drop
the constraint before changing the column type.
Make drop_column integration tests work on jdbc/db2

Instead of running a SELECT, trust the output of Database#schema.
The fact that a SELECT fails after alter_table is an unrelated
bug, and it should not cause these specs to fail.
convert Java::JavaUtil::UUID to String with JDBC driver
Add MSSQL support for :cascade option in drop_column
Make default_constraint_name on MSSQL work with schema qualified tables
Add test for uuid fields postgres adapter spec
Remove some spec guards on jdbc/oracle

These were fixed after the refactoring of the blob bound argument
spec refactoring.
Don't have schema dumper produce code that depends on the core extensions

Instead of using String#lit, use Sequel::LiteralString.new.
Note that Sequel.lit would also work, but that got added recently,
while Sequel::LiteralString.new has been around forever.  Since
it's possible that migrations dumped with a recent version of
Sequel could be restored on a lower version of Sequel, it's best
to use something more backwards compatible.
Remove example code from method RDoc that depends on core_extensions
Remove Sequel::SQL::IdentifierMethods

This module was only included in Symbol, and only would make
sense for Symbol and String.  Since it only defines a single
method, Instead of including a separate module, just define
the identifier method on String.
Return clobs as String instead of SQL::Blob on derby (Fixes #509)
Preserve return value in MiniTest example

The return value of MiniTest::Unit::TestCase is significant and needs
to be returned in order for the test reporter to work properly.

I also added an example for overriding the base implementation instead
of doing it in a subclass.
Add a couple additional testing examples (Fixes #522)
Require the core extensions when migrating

This doesn't currently matter, but as the core extensions will be
removed in the next major version, it's best to make the change
now so it isn't forgotten.

Basically, old migrations may rely on the core extensions, and
Sequel tries hard not to break old migrations.
Allow custom registered array types in the pg_array extension to take a :type_procs option

This will be used to handle per-Database instance registered types.
Support :typecast_methods_module when registering custom array types

This should make it possible to register custom array types on
a per-Database instance without affecting global state.

The singleton define_array_typecast_method moves from DatabaseMethods
to PGArray, and is now private.  That's a backwards incompatible
change, but it's unlikely anyone is relying on it.