do not fake out SQLite3::Version ... gets only loaded while running tests now
there should be no more need to fake out *pg.rb* (due native 'pg' gem)
simply do #columns instead of #jdbc_columns (not related to query_cache)
implement a (native) ArJdbc.modules method and refactor using it
Java API module convention is to return loaded module from Module.load
move mysql gem API faking into (rails loadable) test code
exclude "helper" modules - MFH should get moved, Version is deprecated
relax jdbc driver (connection) spec on error message
refactor visitor configuration and instantiation for JDBC adapter(s)
AREL visitors base impl revisited (to fix long broken query cache) :
- separate out "configure_visitors" from setting @visitor on initialize
- we're only configure "once" (or never) when adapter instantiated
- add a #new_visitor method for instantiating a visitor per instance
- use (3.1+) bind visitors with the BindSubstitution convention fallback to generate one on-demand

also added #prepared_statement? helper which is now always false
re-invent #substitute_binds as #suble_binds (behaves slightly different)
this is needed to fix query cache for all AR versions (only working for 3.2)
- make sure #visitor_for returns bind visitor as well
- preliminary (disabled) #exec_query / #exec_query_raw support for PS
dependencies: update rake/appraisal and jruby-openssl
very early (untested) PS support on our Java side + #exec_query_raw yields
fix derby failing due to_sql update + make sure query cache works as well
support for loading only the necessary Java parts per adapter (see #353)
[sqlite3] let the JDBC API to figure out indexes (expected to fix #377)
avoid instance var warnings + make sure we do not test again if not true
db2 on as400: force decimal field with 0 scale to be integers because they dont have integer datatypes when creating tables from rpg and because saving a decimal in that field fails because ruby always seems to puts a .0 on in the end of the field
adding ordering support when using both limit and offset
Check if offset is set, otherwise use the Arel::Node::Offset#expr method to retrieve offset value

Signed-off-by: Jason Franklin <franklin@equinux.com>