improve JDBCError since it's being created mostly from Java 
(also better performance since we're setting an ivar instead of calling 2 Ruby methods)
with-connection with supported_data_types + deprecated init_connection
un-deprecate and final-ize extractTableName (might be useful as a helper for overriders)
make sure (wrapped) JDBCError is retained on AR 3.x as well (not possible on 2.3)
... this changes the returned StatementInvalid on 3.x to a WrappedDatabaseException