Made sure that all of the test gemfiles are loading all dev dependencies

As things were (with all dev dependencies defined in the Gemfile) the
additional gemfiles in ./gemfiles (used for testing optional
dependencies) were not requiring additional devdependencies, such as
minitest (they were still passing, but were probably using a different
version of minitest to the main test runs)
Switched on quirks mode for json gem

This makes it behave:

1. More like multi json and yajl, which can parse scalar values (not
just hashes or arrays)
2. More correctly, in terms of the latest json rfc (rfc7159)*

Incidentally both multi_json and rails turn on quirks mode by default.

But there are a few other reasons for doing this - before, if json schema
was passed a string, then parsing would fail and the string would be
passed into the validator as a string. But that string could contain an
integer or a float value. That's clearly not the correct behavior.
Let's use webmock as described in the readme

Instead of requiring it lots of times, and calling it when we don't need
to
Added a "parse_data" option, which can be set to false to skip any
attempt to parse the data
Made sure we use a fairly recent version of json-gem on ruby 1.9

Seems like some older versions of the json gem segfault if they're
passed anything other than a string. We rely on json raising an error if
it's not given a string (in Validator#initialize_data)
Merge pull request #196 from iainbeeston/test_coverage

Fix test runs for optional dependencies