time/date related asserts + move out oracle checks in tests
avoid (rails master) deprecated `find(:first)`in tests
note that `Model.first` is supported way back to AR 2.3
add a `find_by_sql` with binds test among simple tests (motivated by #231)
add a string quoting (simple) test due #244
re-arrange adapter methods (a bit logically) + hide private methods
some jdbc_ methods only needed for AR < 3.0
substitute_binds and extract_sql is private API
mysql - no need to re-invent substitute_binds in exec_insert
all modify_types impls should honor super
[oracle] avoid CREATE DDL failure when BLOB has length specified
+ an explicit column class for Oracle; prepare for TIMESTAMP support
perform some code cleanup
[oracle] fix broken `string_to_time` due previous changes; explain support
also since Oracle supports TIMESTAMP for quite a while we should not create DATE columns for a :timestamp column type
guard against regression (#192) + fix tests green due modify_types super
[postgres] ignore binary precision / limit for bytea
borrowing binary tests from Rails to guard against regressions e.g. #174
run the binary tests with MySQL/Derby/H2 and HSQLDB as well
avoid encoding issues with MySQL's quoting methods

- #quote_string did not preserve encoding - actually it was "mysql" gem compatible but that was probably not the intention, new "optimized" Java impl now preserves encoding but as it tries to behave "mysql2" gem compatible it will change the encoding (of e.g. ASCII-8BIT) to UTF-8 on 1.9

- #quote (re-)borrowed from Rails's MySQLAdapter code with our :primary_key column check for backwards compatibility

- #quote_column_name and #quote_table_name moved to the Ruby side with string value caching similar to the Rails native adapter, except that we're freezing strings to avoid potential hard to track bugs if someone tries to modify such quoted string

closing #185
JRuby 1.6.8 compatibility when rescue-ing Java exception
better (simplified) type handling for DB2 + a read-able #zos_create_table
working DB2 binary support - improved quoting + use lob callback for all
since it was failing on BLOB/CLOB  inserts otherwise - backwards compat provided with the ADD_LOB_CALLBACK constant in case this breaks smt
[derby] avoid failures with #quote when second arg nil + keep string enc
only run "global" row locking test on AR >= 3.0
[postgres] test with AR 2.3 behavior - infinite timestamps returned as nils
[postgres] cache quoted_table_name & quoted_column_name values
similar to Rails and how MySQL adapter does this