Make plugin/extension specs run on rubinius 2

Rubinius 2 has a ruby version of 2.1.0, but doesn't implement
refinements, so specifically check for refinements support.
Refactor jdbc adapter conversion proc handling

This abstracts the column type name retrieval to a method that
subadapters can override to get different column information.
It also only calls this method if the subadapter actually needs
this information (most don't), which should be better for
performance.

Additionally, it refactors the code to reduce the number of
branches and method calls.

For the sqlanywhere subadapter, do the smallint to bool conversion
correctly, looking first at the dataset setting and then at the
database setting.  Previously, both had to be true or it wouldn't
do the conversion. Also, rename the boolean type translator method
to sqla_boolean, since it is specific to the sqlanywhere subadapter.

Also fix the sqlanywhere convert_smallint_to_bool dataset setting,
which should default to the database setting, not the global default.
Improve PostgreSQL type support in the jdbc/postgresql adapter

This makes the PostgreSQL type handling in the jdbc/postgresql
much closer to the postgres adapter type handling, using the
same conversion procs in most cases.  This means that in most
cases, you no longer need to use the pg_typecast_on_load or
typecast_on_load plugins to handle these types in models, since
the datasets return the correct results automatically.

One of the other improvements is this allows you to return types
that were previously not handled at all before in the
jdbc/postgresql adapter, such as arrays of other custom types.
Previously trying to return such types resulted in a JDBC not
implemented error.
Fix mode of oracle_spec.rb

This was (unitentionally?) changed in a previous pull request,
and I didn't catch it when I merged.
Don't automatically order on all columns when emulating offsets for unordered datasets on DB2

The default ROW_NUMBER emulation still requires an order for
backwards compatibility.  Also, I believe the two other databases
that use this emulation (MSSQL and AS400) require that ROW_NUMBER
specify an order.