Speed up using plain strings, numbers, true, false, and nil in json columns if underlying json library supports them (Fixes #834)

Since Sequel rescues the InvalidValue exception and will try
reparsing inside an array, it doesn't make sense to raise an
exception if the initial parse returns a valid object.

Note that the default ruby json library implements RFC 4627 and
only allows object or arrays values as root values.  However,
libraries such as Oj implement RFC 7159 that allows strings,
numbers, true, false, and null as root values.  On libraries
that implement RFC 7159, this avoids raising a needless
exception, which should speed up retrieval significantly.

Note that there are no wrapper classes for json strings, numbers,
true, false, and null, so such values do not currently roundtrip.