Handle non-JSON plain strings, integers, and floats in PostgreSQL JSON columns in pg_json extension

PostgreSQL allows non-JSON in JSON columns.  Previously, Sequel
would raise an error when accessing it.  This changes it so that
the columns are parsed correctly, but not wrapped.

This wasn't necessary until now as it's unlikely people store
non-JSON in a JSON column.  However, with the JSON operators and
functions that ship with 9.3, it's likely that while people will
be storing JSON in a JSON column, json functions on that column
will return strings, integers, and floats instead of objects and
arrays, so raising an error in such cases is a bad idea.

I'm separating the fallback parsing and only using it for the
database parsing, since I don't want the generic json parsing
method to handle the case.
Add pg_json_ops extension for calling JSON functions and operators in PostgreSQL 9.3+