Fix for ActiveRecord ~> 4.2 compatibility

Arel 6.0.0 introduced new methods for handling literals in SQL
(strings, array, etc) and also seperated Visitors into two types,
ones that map and ones that reduce. This fixes postgres_ext to
hook into the Arel PostgreSQL visitor in a way that's compatible
with the new reducing visitor calling style. This also makes sure
literal arguments to Arel Nodes are wrapped in the new Quoted
object. Changes to support ActiveRecord 4.2 are only conditionally
included so the library remain compatible with older version of AR.

In a few minor changes:
- Rewrite CTEProxy class to use delegate
- Rename and combine the old visitor to patch the Arel PostgreSQL
visitor
- Change tests to use Regexes that match sql output from all AR
versions

An additional note: The version check in lib/postgres_ext/arel.rb will
need to be updated when the final version of ActiveRecord 4.2 is
released.